HaB*_*aBo 10 asp.net-mvc asp.net-mvc-3
0项目
在我看来,我有一个隐藏的文件,有一个UserID
.该用户ID是在动作时生成的(因此事先不知道)
一旦这个隐藏字段有一个值,我想将该值用作actionlink routevalue.我可以使用jquery选择器来完成它.
我隐藏的领域是
<input id="NewUserID" type="hidden" value="80">
Run Code Online (Sandbox Code Playgroud)
我的ajax.ActionLink是
@Ajax.ActionLink("Edit", "EditUser", "User", new { UserID = "$('#GetNewPatientID').val()" },
new AjaxOptions
{
OnSuccess = "ShowEditUserForm",
UpdateTargetId = "EditUserDetails",
InsertionMode = InsertionMode.Replace,
HttpMethod = "Get"
}, new { @class = "button", id = "EditUserButton" })
Run Code Online (Sandbox Code Playgroud)
知道这是否可行?
Dar*_*rov 12
在服务器上生成操作链接时,您可以为UserID路由值添加一些特殊的占位符:
@Ajax.ActionLink(
"Edit",
"EditUser",
"User",
new {
UserID = "__userid__"
},
new AjaxOptions {
OnSuccess = "ShowEditUserForm",
UpdateTargetId = "EditUserDetails",
InsertionMode = InsertionMode.Replace,
HttpMethod = "Get"
},
new {
@class = "button",
id = "EditUserButton"
}
)
Run Code Online (Sandbox Code Playgroud)
然后当你在javascript中为隐藏字段赋值时,你也可以更新动作链接href:
$('#EditUserButton').attr('href', function() {
return this.href.replace('__userid__', $('#NewUserID').val());
});
Run Code Online (Sandbox Code Playgroud)
也许这样的事情会起作用.将您的操作链接放在div中,并在客户端使用jquery进行修改.
<div id="ajaxTest">
@Ajax.ActionLink("Edit", "EditUser", "User", new { UserID = "$('#GetNewPatientID').val()" },
new AjaxOptions
{
OnSuccess = "ShowEditUserForm",
UpdateTargetId = "EditUserDetails",
InsertionMode = InsertionMode.Replace,
HttpMethod = "Get"
}, new { @class = "button", id = "EditUserButton" })
</div>
<script type="text/javascript">
$(document).ready(function(){
$("#ajaxTest a").click(function (event) {
$(this).attr('href', "/EditUser/Edit?UserId='+ $('#NewUserId).val() +'");
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
20014 次 |
最近记录: |