Javascript 将参数从视图传递到控制器

Javascript 将参数从视图传递到控制器,javascript,jquery,asp.net,asp.net-mvc-3,razor,Javascript,Jquery,Asp.net,Asp.net Mvc 3,Razor,我想在cshtml页面中将参数从视图传递到控制器。 这是我的代码: <script type="text/javascript"> function Test() { $.get( "@Url.Action("UpdateReport/", "Report")" ); } </script> <h2>Reports</h2> @fore

我想在cshtml页面中将参数从视图传递到控制器。 这是我的代码:

<script type="text/javascript">
    function Test() {

        $.get(        
        "@Url.Action("UpdateReport/", "Report")"                 
    );
    }

</script>

<h2>Reports</h2>

@foreach (var item in Model)
{
    <div>@Html.ActionLink(@item.Name, "ActionCall", "Report", new { Id = @item.Id }, null )</div><br /><br />
                <input type="button" class="button1" value="Insert" />
                <input type="button" class="button1" value="Delete" />
                <input type="button" onclick="Test()" class="button1" value="Update" />     
}

功能测试(){
$获取(
“@Url.Action(“UpdateReport/,“Report”)”,
{Id:@item.Id}
);
}
或:


功能测试(){
$获取(
@Url.Action(“UpdateReport/,“Report”,new{Id=item.Id})”
);
}

功能测试(){
$获取(
“@Url.Action(“UpdateReport/,“Report”)”,
{Id:@item.Id}
);
}
或:


功能测试(){
$获取(
@Url.Action(“UpdateReport/,“Report”,new{Id=item.Id})”
);
}

添加名为Id的新routevalue项

<script type="text/javascript">
function Test() {

    $.get(        
    "@Url.Action("Update", "Report", new { @id = item.Id })"                 
);
}

功能测试(){
$获取(
@Url.Action(“更新”、“报告”,新的{@id=item.id})”
);
}

添加名为Id的新routevalue项

<script type="text/javascript">
function Test() {

    $.get(        
    "@Url.Action("Update", "Report", new { @id = item.Id })"                 
);
}

功能测试(){
$获取(
@Url.Action(“更新”、“报告”,新的{@id=item.id})”
);
}

在javascript函数中尝试以下代码:

$.get('Report/UpdateReport?paramName=paramValue', function(data) {
  //Do something with "data"
});

其中paramName是控制器操作中参数的名称,value是要传递的当前值。控制器返回的数据放在变量“Data”中。

在javascript函数中尝试以下代码:

$.get('Report/UpdateReport?paramName=paramValue', function(data) {
  //Do something with "data"
});
其中paramName是控制器操作中参数的名称,value是要传递的当前值。控制器返回的数据放在变量“Data”中。

您可以使用$.post

<script type="text/javascript">
    function Test() {

        var itemId = $('#MyButton').attr('itemid');
            var url = '@Url.Action("UpdateReport", "Outcome")';
            var data = { Id:itemId };
              $.post(url, data, function (result) {
                  var id = '#postedFor' + postId;
                  $(id).html(result);

            });                 
    );
    }

</script>

功能测试(){
var itemId=$('#MyButton').attr('itemId');
var url='@url.Action(“更新报告”、“结果”);
var data={Id:itemId};
$.post(url、数据、函数(结果){
变量id='#postedFor'+posted;
$(id).html(结果);
});                 
);
}
并将项目id绑定到您的输入

<input id="MyButton" itemid="@Html.Raw("postedFor" + Model.Id)" type="button" onclick="Test()" class="button1" value="Update" />

您可以使用$.post

<script type="text/javascript">
    function Test() {

        var itemId = $('#MyButton').attr('itemid');
            var url = '@Url.Action("UpdateReport", "Outcome")';
            var data = { Id:itemId };
              $.post(url, data, function (result) {
                  var id = '#postedFor' + postId;
                  $(id).html(result);

            });                 
    );
    }

</script>

功能测试(){
var itemId=$('#MyButton').attr('itemId');
var url='@url.Action(“更新报告”、“结果”);
var data={Id:itemId};
$.post(url、数据、函数(结果){
变量id='#postedFor'+posted;
$(id).html(结果);
});                 
);
}
并将项目id绑定到您的输入

<input id="MyButton" itemid="@Html.Raw("postedFor" + Model.Id)" type="button" onclick="Test()" class="button1" value="Update" />


视图:视图中的“类别”参数通过“管理”值传递给控制器

@{ Html.RenderAction("Menu", "Nav", new { category = "admin" }); }

控制器:获取控制器“类别”参数的值

public PartialViewResult Menu(string category, string menu = null)
{
     IEnumerable<Menu> menus = repository.Menus
    .Select(x => x)
    .Where(x => (x.MenuCategory == category)
    .OrderBy(x => x.MenuSequence).ToList(); 
     return PartialView(menus);
}
public PartialViewResult菜单(字符串类别,字符串菜单=null)
{
IEnumerable menus=repository.menus
.选择(x=>x)
.其中(x=>(x.MenuCategory==类别)
.OrderBy(x=>x.MenuSequence.ToList();
返回部分视图(菜单);
}


视图:视图中的“类别”参数通过“管理”值传递给控制器

@{ Html.RenderAction("Menu", "Nav", new { category = "admin" }); }

控制器:获取控制器“类别”参数的值

public PartialViewResult Menu(string category, string menu = null)
{
     IEnumerable<Menu> menus = repository.Menus
    .Select(x => x)
    .Where(x => (x.MenuCategory == category)
    .OrderBy(x => x.MenuSequence).ToList(); 
     return PartialView(menus);
}
public PartialViewResult菜单(字符串类别,字符串菜单=null)
{
IEnumerable menus=repository.menus
.选择(x=>x)
.其中(x=>(x.MenuCategory==类别)
.OrderBy(x=>x.MenuSequence.ToList();
返回部分视图(菜单);
}


@Javanga在控制器端现在如何获得正确的Id?提前谢谢。请在我的帖子中找到控制器。如果Id的数据类型是字符串,那么控制器应该是public ActionResult UpdateReport(字符串Id){return View(“Index”);}您是否注意到数据类型和属性名称应该与您从VIEW中传递的数据相同?我在操作中以“字符串id”作为参数得到null。我们是否有什么错误?感谢此问题是由于行
$(this).attr('id')
。您应该有类似
$('#mydiv').attr('id'))的内容
@Javanga在控制器端现在如何获得正确的Id?提前谢谢。请在我的帖子中找到控制器。如果Id的数据类型是字符串,那么控制器应该是public ActionResult UpdateReport(字符串Id){return View(“Index”);}您是否注意到数据类型和属性名称应该与您从VIEW传递的数据相同?我在操作中将“string id”作为参数设置为null。我们是否有错误?感谢此问题是由于行
$(this).attr('id')
。您应该有类似
$('#mydiv').attr('id')