事件Asp Mvc重定向

时间:2013-05-17 10:30:34

标签: c# asp.net asp.net-mvc asp.net-mvc-4 razor

我是asp.net mvc的初学者。我在视图中Home.cshtml

<button name ="del"  style="width:150px; height:30px;text-decoration:none;color:white;text-align:center;background-color:darkcyan;padding:5px;border-style:outset;border-width:2px;border-color:darkcyan"  onclick="@Url.Action("Delete", "Super",1)">Supprimer</button>
<button name ="edit"style="width:150px; height:30px;text-decoration:none;color:white;text-align:center;background-color:darkcyan;padding:5px;border-style:outset;border-width:2px;border-color:darkcyan" onclick="@Url.Action("Edit", "Super","val")">Editer</button>

当我点击两个按钮时,没有任何东西消失,重定向也不起作用。

  1. 为什么?
  2. 如何将其更改为正确?

4 个答案:

答案 0 :(得分:4)

您不希望在MVC中创建此类链接。尝试使用ActionLink

@Html.ActionLink("Delete", "Edit", "Super");

@Html.ActionLink("Edit", "Edit", "Super");

http://msdn.microsoft.com/en-us/library/system.web.mvc.html.linkextensions.actionlink(v=vs.108).aspx

对于按钮:

<input type="button" value="Supprimer" onclick="window.location.href='@Url.Action("Delete", "Super")';" />

指定参数:

<input type="button" value="Supprimer" onclick="window.location.href='@Url.Action("Delete", "Super", new { Id = 1 })';" />

答案 1 :(得分:1)

在这种情况下,您可以使用JQuery来改善当前的代码质量,如下所示

<input id="supprimer" type="button" value="Supprimer" />

$('#supprimer').click(function(){
   window.location.href = '@Url.Action("Delete", "Super")';
});

在最佳版本中,尝试使用AMD pattern

对该代码进行模块化

答案 2 :(得分:0)

问题是onclick是一个javascript事件,因此需要javascript代码。您只需将其设置为URL,它将不执行任何操作。

一个选项(我并不是说它是最好的)将其改为:

onclick="window.location = '@Url.Action("Delete", "Super", new { id = 1 })';"

答案 3 :(得分:0)

我找到了这个解决方案:

 <a type="button"   style="width:150px; height:30px;text-decoration:none;color:white;text-align:center;background-color:darkcyan;padding:5px;border-style:outset;border-width:2px;border-color:darkcyan;margin-left:25px"  href="@Url.Action("Delete", "Super",new { Id = 1 })">Supprimer</a>
    <a type="button" style="width:150px; height:30px;text-decoration:none;color:white;text-align:center;background-color:darkcyan;padding:5px;border-style:outset;border-width:2px;border-color:darkcyan" href="@Url.Action("Edit", "Super",new { Id = 1 })">Editer</a>

在控制器中:

 public ActionResult Edit(int id)
        {

            int id2 = id;


           return RedirectToAction("Edit", "Admin", new {id = id2});
        }