读书人

MVC3 @Html.ActionLink有没有可能实

发布时间: 2013-07-11 15:38:46 作者: rapoo

MVC3 @Html.ActionLink有没有可能执行Post 提交
MVC3   @Html.ActionLink有没有可能实施Post  提交
[解决办法]
只要你@Html.ActionLink 标签所处的表单提交方式为Post

或者直接在onclick中直接post表单

最终解析为a标签,那么你可以当做普通的a处理

<a href="javascript:$('#Form').submit();"
[解决办法]

引用:
Quote: 引用:

只要你@Html.ActionLink 标签所处的表单提交方式为Post

或者直接在onclick中直接post表单

最终解析为a标签,那么你可以当做普通的a处理

<a href="javascript:$('#Form').submit();"

那个actionlink 是在@using (Html.BeginForm())这个里面的,也就是有提交吧?
为什么我执行代码在action里面断点都没进去PSOT
[HttpPost]
public ActionResult Article_List()

默认的链接点击是url传递,是get方式
一楼是让你改成onclick事件触发
[解决办法]
关注点分离一下
1.@Html.ActionLink 只是渲染了一个<a></a>其他它并不管.
2.既然是a标签,那么你应该问怎样使用a标签提交一个POST请求
3.回答:你可以使用Javascript来完成.
[解决办法]
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

只要你@Html.ActionLink 标签所处的表单提交方式为Post

或者直接在onclick中直接post表单

最终解析为a标签,那么你可以当做普通的a处理

<a href="javascript:$('#Form').submit();"

那个actionlink 是在@using (Html.BeginForm())这个里面的,也就是有提交吧?
为什么我执行代码在action里面断点都没进去PSOT
[HttpPost]
public ActionResult Article_List()

默认的链接点击是url传递,是get方式
一楼是让你改成onclick事件触发

那actionlink 应该怎么改?
@Html.ActionLink("更多>>", "Article_List", new { more = ViewData["V3"] }, new { @class = "more pull-right" })
我就知道new一个onclick事件 只是不知道如何Post
这样写
 @using (Html.BeginForm("LogOff", "Account", FormMethod.Post, new { id = "logoutForm" })) {
@Html.AntiForgeryToken()


<a href="javascript:document.getElementById('logoutForm').submit()">注销</a>
}


[解决办法]
最简单的是你用在onclick里面用ajax提交。
举例如下:
a标签:
<%= Html.ActionLink("已完成", "Complete", new { controller = "AJAXCall", eid = t.UserTaskId, tid = t.TaskId }, new { @class = "onstate", filter = ViewData["Filter"], tips = "已完成", op = "complete" })%>


javascript onclick响应事件:

$(".onstate").click(function (e) {
e.preventDefault();

var link = $(this);
$.ajax({
type: "post",
url: link.attr("href"),
dataType: "json",
success: function (data, status) {
if(status == "success") {
// 成功之后的处理代码
}
},
error: function (data) { }
});

return false;
});

[解决办法]
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

只要你@Html.ActionLink 标签所处的表单提交方式为Post

或者直接在onclick中直接post表单

最终解析为a标签,那么你可以当做普通的a处理

<a href="javascript:$('#Form').submit();"

那个actionlink 是在@using (Html.BeginForm())这个里面的,也就是有提交吧?
为什么我执行代码在action里面断点都没进去PSOT
[HttpPost]
public ActionResult Article_List()

默认的链接点击是url传递,是get方式
一楼是让你改成onclick事件触发

那actionlink 应该怎么改?
@Html.ActionLink("更多>>", "Article_List", new { more = ViewData["V3"] }, new { @class = "more pull-right" })


我就知道new一个onclick事件 只是不知道如何Post

这样写

参考
        [HttpPost]
[ValidateAntiForgeryToken]
public ActionResult LogOff()
{
FormAuthService.SignOut();
var ReturnUrl = System.Web.HttpContext.Current.Request.UrlReferrer == null ? "/Home/Index" :
(System.Web.HttpContext.Current.Request.UrlReferrer.AbsoluteUri == System.Web.HttpContext.Current.Request.Url.AbsoluteUri ? "/Home/Index" : System.Web.HttpContext.Current.Request.UrlReferrer.AbsoluteUri);
return Redirect(ReturnUrl);
}

[解决办法]
引用:
Quote: 引用:

最简单的是你用在onclick里面用ajax提交。
举例如下:
a标签:
<%= Html.ActionLink("已完成", "Complete", new { controller = "AJAXCall", eid = t.UserTaskId, tid = t.TaskId }, new { @class = "onstate", filter = ViewData["Filter"], tips = "已完成", op = "complete" })%>


javascript onclick响应事件:

$(".onstate").click(function (e) {
e.preventDefault();

var link = $(this);
$.ajax({
type: "post",
url: link.attr("href"),
dataType: "json",
success: function (data, status) {


if(status == "success") {
// 成功之后的处理代码
}
},
error: function (data) { }
});

return false;
});


不要用ajax
提交了 然后再控制器方法中去上一个链接地址 再跳回去
[解决办法]
再=在 去=取
[解决办法]
这个东西好像挺有用的,下载看看
[解决办法]

人呢 求指导
建议你用ajax
[解决办法]
引用:
我就想知道我的actionlink 能不能执行Post 如果可以的话应该怎么弄才可以跳进来
@Html.ActionLink("更多>>", "Article_List", new { more = ViewData["V3"] }, new { @class = "more pull-right" })


[HttpPost]
public ActionResult Article_List()
{

}
需求:点击传递参数,跳转到action然后Post的

一 用ajax直接post
二 ajax提交表单
三 同步提交表单,控制器方法中跳转到当前链接

建议用8楼方法
PS:少用那些HtmlHelper方法 自己写a标记更简洁

读书人网 >asp.net

热点推荐