C#后台接收页面参数

对于下面的代码,从页面传送过来的数据都是var类型的数据,他们会根据后端接收的数据类型进行自动(隐式)转换,使用参数的名字匹配,匹配上就将参数填充进去

public class Train{ public string Name;public int Id; }
public class TController : Controller
{
    public ActionResult Update([ModelBinder(typeof(JsonBinder<Train>))]Train detail, Guid tea)
    {
        //代码区域、。。。。
    }
}

页面数据会自动匹配

var train=new{ Name:"name",Id:2 };
var tea="000000-0000-0000-0000-0000-00000000";
$.ajax({
    url:"/T/Update",
    type:"post",
    data:{
        detail:train,
        tea:tea
    },
});

但是有一点需要注意,这样的方式可能会异常,比如Id是int类型的,但是如果输入的参数不是123,而是abc就会报异常,数据转换不成功。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在使用 RegisterStartupScript 调用 JS 确认框函数后,点击确认按钮返回的 true 值是无法直接传递到后台的。因为 C# 是在服务器端执行的,而 JS 是在客户端执行的,两者之间的通信需要通过 HTTP 协议进行。 一种常见的解决方案是使用 AJAX 技术,在 JS 确认框函数的回调函数中,通过 AJAX 向服务器发送一个请求,将确认框的返回值作为请求参数传递给服务器。服务器接收到请求后,根据参数进行相应的处理,并返回处理结果给客户端。 以下是一个简单的示例代码: JS 代码: ``` function confirmDialog() { var result = confirm("Are you sure?"); if (result == true) { $.ajax({ type: "POST", url: "backend.aspx/ProcessResult", data: { result: "true" }, success: function (response) { alert(response.d); } }); } } ``` C# 代码: ``` [WebMethod] public static string ProcessResult(string result) { if (result == "true") { // 处理确认框返回的 true 值 return "Success"; } else { // 处理确认框返回的 false 值 return "Failed"; } } ``` 在上述代码中,JS 通过 AJAX 向服务器端的 backend.aspx 页面发送了一个 POST 请求,并将确认框返回的 true 值作为请求参数传递给服务器。服务器端通过 WebMethod 标记的 ProcessResult 方法接收到请求后,根据参数进行相应的处理,并返回处理结果给客户端。客户端通过 success 回调函数接收到服务器返回的结果,并进行相应的处理。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值