我能给MVC Ajax回调一个参数吗?
Can I give the MVC Ajax callback a parameter?
@Ajax.ActionLink("Pujar",
"BidOnSmallAuction",
"Auctions",
new { id = @item.UniqueIdentifierID },
new AjaxOptions { UpdateTargetId = "divright" + item.UniqueIdentifierID, InsertionMode = InsertionMode.Replace, OnSuccess = "Update" },
new { @class = "btn primary" })
例如,当我点击这个ActionLink时,javascript的"Update"
方法将在回调后被调用。
由于这个ajax链接是在许多不同的拍卖,每个有它自己的计时器,我需要能够告诉更新方法哪个拍卖运行。
所以如果你能告诉我如何给Update方法传递一个参数,我就能算出剩下的了
感谢您的宝贵时间。
编辑:
根据两个答案的建议,我试着运行如下命令:
//Just for testing purposes.
function Update(uniqueDivId) {
alert(uniqueDivId);
}
//And in the view's code:
@Ajax.ActionLink("Pujar",
"BidOnSmallAuction",
"Auctions",
new { id = @item.UniqueIdentifierID },
new AjaxOptions { UpdateTargetId = "divright" + item.UniqueIdentifierID,
InsertionMode = InsertionMode.Replace,
OnSuccess = "function() { Update(3); }" },
new { @class = "btn primary" })
警报消息没有被调用。什么好主意吗?
您可以尝试这样做:
@Ajax.ActionLink(
"Pujar",
"BidOnSmallAuction",
"Auctions",
new { id = @item.UniqueIdentifierID },
new AjaxOptions { UpdateTargetId = "divright" + item.UniqueIdentifierID,
InsertionMode = InsertionMode.Replace,
OnSuccess = "function() { Update(someParam); }" },
new { @class = "btn primary" })
这样OnSuccess本身调用一个没有参数的函数,但是这个函数反过来知道如何调用带参数的Update()。您应该能够使用字符串连接来设置所需的参数(类似于UpdateTargetId
),例如:
...
new AjaxOptions { UpdateTargetId = "divright" + item.UniqueIdentifierID,
InsertionMode = InsertionMode.Replace,
OnSuccess = "function() { Update(" + item.UniqueIdentifierID + "); }" },
...
更新:哦,对不起,看起来可能-也许-也许它只是期待一个函数的名字作为一个字符串,我以为它期待一个函数的引用。
你可以动态地在页面上包含其他脚本在同一时间作为你现有的代码?如果是这样,将上面的内容改为OnSuccess="UpdateProxy"
,然后动态输出以下内容:
<script>
function UpdateProxy() {
Update(/* insert your item.UniqueIdentifierID or other params here */);
}
</script>
如果页面上同时有多个ajax链接,则需要UpdateProxy1(), UpdateProxy2()
等
你可以试试吗
OnSuccess = "function() { Update('"some param'"); }"
相关文章:
- JS:检查URL中的参数,然后迭代一个参数为var的函数
- 为什么jQuery文件的函数中有两个参数,但只接收一个参数
- 如何将一个*参数*从JS传递到AS3
- 如何在mysql查询(NODE.js)中重复使用一个参数
- Meteor.js只更新一个参数,而不是整个集合
- 必应地图没有'当我向函数添加另一个参数时,t显示
- Function.prototype.call和Function.protoype.all只应用一个参数
- Javascript/jQuery获取所有url参数并添加/更改一个参数
- 将一个参数传递给另一个参数
- 我需要将一个参数从另一个任务传递给gullow任务,或者用runSequence调用的函数替换一个任务
- 将多字段html输入组合为一个参数并传递给javascript
- jQuery使用最后一个参数在Javascript循环中单击绑定函数
- 如果我传递一个参数,则不会调用javascript函数
- Javascript:在URL后面添加一个参数
- pass函数是JavaScript中的一个参数
- 在backbone.js中路由视图时传递一个参数
- bookmarklet在url中添加一个参数并重新提交
- 在nodejs中使用一个参数
- 通过删除一个参数及其值来清理 URL
- 使用 onClick 从 JavaScript 创建 html 按钮调用一个带有一个参数的方法