通过将更新的参数传递到同一个Controller MVC 3再次加载View

时间:2012-08-08 15:55:43

标签: c# asp.net-mvc-3 razor view controller

我想通过在链接点击上从文本输入传递更新的参数来再次加载相同的视图。我尝试使用像<a href="@Url.Action("Index", "Home", new {id = "txtCount".value }).之类的东西。不确定是否有办法做到这一点。我知道我可以使用partial但我想用更新的参数重新加载整个页面。提前感谢您的帮助。

控制器

[HttpGet]
public ActionResult Index(int id)
{
    return View(id);
}

查看

@model int
@using (@Html.BeginForm())
{
    <input id="txtCount" value="1" />
    <a href="@Url.Action("Index", "Home", new { id = 5 @*// get value from txtCount*@ })">Update</a>
        for (int i = 0; i < Model; i++)
        {
            <div>@i </div> 
        }
}

1 个答案:

答案 0 :(得分:2)

也许是这样的

<a href="#" id="mylink">Go!</a>

和jquery绑定

$("#mylink").click(function(){
document.location.href = '@Url.Content("~/Controller/Action")' + $("#mytxt").val();
return false;
});

显然,如果文本框为空并且所有内容都是正确的验证。

您无法将id值添加到@Url.Action,因为它在服务器端之前处理,在呈现页面之前