是否还有其他可能在c#中调用控制器方法而不是使用带有输入元素的表单?实际上我只想通过按下按钮或链接来执行方法。
到目前为止我正在使用:
@using (Html.BeginForm("RefreshQuestion", "Admin"))
{
<input type="submit" value="refresh" class="questionInput" />
}
非常感谢提前
_tek
答案 0 :(得分:1)
这是你应该做的事情来调用控制器方法。如果您不想使用该代码,可以使用Action Link。
@Html.ActionLink("Refresh", "RefreshQuestion", "Admin")
您是否也需要发布一些内容,或者您只是打电话给控制器?
答案 1 :(得分:1)
您可以使用一些小的javascript来进行ajax调用。您可以将数据从UI传递到操作方法。
以下示例将在用户点击按钮时将Name
输入元素的值发布到操作方法。
<input type="text" id="Name" />
<input type="submit" id="btnSave" value="refresh" class="questionInput" />
你的javascript是
$(function(){
$("#btnSave").click(function(e){
e.preventDefault();
$.post("@Url.Action("RefreshQuestion","Admin")",
{ name : $("#Name").val() } ,function(data){
// do something with the response
});
});
});
您的操作方法应该有一个名为name
的参数或一个视图模型对象,其中包含name
属性(模型绑定将休息)。
[HttpPost]
public ActionResult Add(string name)
{
// save and return something
}
您也可以根据需要使用serialize
方法发送填写表单中所有项目的数据。