2016-03-15 92 views
-2

我正尝试使用按钮在我的控制器Client中调用两种操作方法之一。这是一个简单的CRUD风格的Web应用程序,但是根本没有任何操作方法被调用(我设置了断点)。我的HTML代码如下:呼叫控制器MVC中按钮的动作方法5

@if (Model == null || Model.ID == 0) 
{ 
    <span class="input-group-btn"><button class="btn btn-default" onclick="location.href = ''@Url.Action("AddClient", "Client")''"/>Add New Details</span> 
} 
else 
{ 
    <span class="input-group-btn"><button class="btn btn-default" onclick="location.href = ''@Url.Action("UpdateClient", "Client")''"/>Update Client Details</span> 
} 

我不想重新加载页面,而宁愿做到这一点,而不使用jQuery(如果可能)。

回答

3

你说你不想重新加载页面,但可能你希望在调用服务器之后以某种方式更新页面。

而不是一个按钮的我一般使用的样式就像一个按钮,一个链接:

@Ajax.ActionLink("Add New Details", "AddClient", "Client", 
    new { /*action params*/ }, 
    new AjaxOptions() 
     { 
      Confirm = "Are you sure you want to add new details?", 
      HttpMethod = "POST", 
      OnComplete = "afterAddition()" 
     }, 
    new { @class = "btn btn-default" } 
) 
0

你在的地方,你location.href指定额外的单引号,除去那些如下图所示,它应该打你动作的方法,

@if (Model == null || Model.ID == 0) 
{ 
    <span class="input-group-btn"><button class="btn btn-default" onclick="location.href = '@Url.Action("AddClient", "Client")'"/>Add New Details</span> 
} 
else 
{ 
    <span class="input-group-btn"><button class="btn btn-default" onclick="location.href = '@Url.Action("UpdateClient", "Client")'"/>Update Client Details</span> 
} 

如果你想要部分加载,你可以使用MVC的Ajax选项。