ASP.NET MVC删除操作链接确认
发布时间:2020-12-30 12:54:13 所属栏目:asp.Net 来源:互联网
导读:td %= Html.ActionLink(Delete, DeleteUser, new RouteValueDictionary(new {uname=item.UserName}), new { onclick = return confirm(Are you sure you want to delete this User?); }) % /td
<td>
<%= Html.ActionLink("Delete","DeleteUser",new RouteValueDictionary(new {uname=item.UserName}),new { onclick = "return confirm('Are you sure you want to delete this User?');" }) %>
</td>
在Global.asax.cs routes.MapRoute(
"DeleteUser","Account.aspx/DeleteUser/{uname}",new { controller = "Account",action = "DeleteUser",uname = "" }
);
在ActionContorller.cs public ActionResult DeleteUser(string uname)
{
//delete user
}
控制器中uname的值正在传递为空字符串(“”). 解决方法尝试这样:<%= Html.ActionLink(
"Delete","Account",new {
uname = item.UserName
},new {
onclick = "return confirm('Are you sure you want to delete this User?');"
}
) %>
然后确保生成的链接正确: <a href="/Account.aspx/DeleteUser/foo" onclick="return confirm('Are you sure you want to delete this User?');">Delete</a> 另请注意,不推荐使用纯GET动词来修改服务器上的状态. 这是我会推荐你的: [HttpDelete]
public ActionResult DeleteUser(string uname)
{
//delete user
}
并认为: <% using (Html.BeginForm(
"DeleteUser",new { uname = item.UserName },FormMethod.Post,new { id = "myform" })
) { %>
<%= Html.HttpMethodOverride(HttpVerbs.Delete) %>
<input type="submit" value="Delete" />
<% } %>
并在一个单独的javascript文件中: $(function() {
$('#myform').submit(function() {
return confirm('Are you sure you want to delete this User?');
});
});
您也可以考虑添加一个anti forgery token来保护此操作免于CSRF attacks. (编辑:南阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET MVC 4和Razor 2:View引擎不再支持xml?
- asp.net – 如何在C#2.0中的Web.config中加密用户名和密码
- asp.net-mvc-3 – 为什么@ Html.Label()删除一些字符
- asp.net – 如果我没有指定targetFramework =“4.0”会发生
- asp.net-mvc – 如何在asp.net mvc中处理分页?
- asp.net – 如何添加.aspx页面到现有的MVC 4项目?
- asp.net-mvc – 如何在RegularExpression中忽略大小写?
- asp.net-mvc-3 – 在ASP.NET MVC 3中覆盖/禁用授权
- asp.net-web-api – Web Api:找不到System.Net.Http版本2.
- asp.net – 多个用户控件和JavaScript
推荐文章
站长推荐
热点阅读
