如何将变量从jquery传递到c#中的代码

时间:2011-09-24 07:39:40

标签: asp.net-mvc-3

在我的页面中,我有一个int变量名称mySerial,我想从脚本中传递一个值

mySerial = ui.item.Serial无效

2 个答案:

答案 0 :(得分:3)

您可以将此变量作为查询字符串参数传递给某些控制器操作:

<script type="text/javascript">
    var mySerial = '12345';
    $.ajax({
        url: '@Url.Action("Foo", "Home")',
        type: 'POST',
        data: { mySerial: mySerial },
        success: function(result) {
            alert('success');
        }
    });
</script>

Foo操作:

[HttpPost]
public ActionResult Foo(string mySerial)
{
    ... do something with the serial here
}

如果您不想使用AJAX,另一种可能性是执行重定向:

<script type="text/javascript">
    var mySerial = '12345';
    var fooUrl = '@Url.Action("Foo", "Home")';
    window.location.href = fooUrl + '?mySerial' + encodeURIComponent(mySerial);
</script>

或许我误解了你的问题,你想将你的javascript变量分配给来自视图模型的某个值?在这种情况下:

<script type="text/javascript">
    var mySerial = @Html.Raw(Json.Encode(Model.MySerial));
</script>

答案 1 :(得分:0)

你可以将jquery中的值传递给这样的控制器动作......

$(document).ready(function()
{
    var postdata  = { name: "your name", Age: "your age" };// you can pass control values 
    $.ajax({
        ur: /home/index,
        data: postdata,
        success: function(returndata)
             {
                // do something here for the return data...
              }
         });  
});
控制器中的

public ActionResult PostedDAta(string myname, string myage)
{
            // do somethign here and return Json back to Jquery code
            return Json(data,JsonRequestBehaviour.AllowGet);  
}