0

除了使用带有输入元素的表单之外,还有其他可能在 c# 中调用控制器方法吗?实际上,我只想通过按下按钮或链接来执行方法。

到目前为止,我正在使用:

@using (Html.BeginForm("RefreshQuestion", "Admin"))
{ 
    <input type="submit" value="refresh" class="questionInput" />      
}

提前非常感谢_tek

4

2 回答 2

1

这就是调用控制器方法应该做的。如果您不想使用该代码,可以使用操作链接。

 @Html.ActionLink("Refresh", "RefreshQuestion", "Admin")

您是否还需要发布一些内容,或者您​​只是打电话给控制器?

于 2013-04-19T12:45:21.690 回答
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根据需要使用该方法将填写在表格中所有项目的数据发送出去。

于 2013-04-19T12:48:44.293 回答