ken*_*ner 6 jquery unobtrusive-javascript razor asp.net-mvc-3
我希望我的剃刀视图看起来像这样
@Ajax.ActionLink("A", "Buy", new AjaxOptions() { HttpMethod = "Post", OnSuccess = "updateLetter" }, new { id = "letter-A" })
@Ajax.ActionLink("B", "Buy", new AjaxOptions() { HttpMethod = "Post", OnSuccess = "updateLetter" }, new { id = "letter-B" })
@Ajax.ActionLink("C", "Buy", new AjaxOptions() { HttpMethod = "Post", OnSuccess = "updateLetter" }, new { id = "letter-C" })
Run Code Online (Sandbox Code Playgroud)
和我的javascript看起来像这样
function updateLetter(letter)
{
$("#letter-" + letter).toggleClass('selected');
}
Run Code Online (Sandbox Code Playgroud)
我的想法是,如果我单击A链接,它将执行ajax并在该元素上切换类.我不确定如何将它连接起来.我错过了什么?
首先修复你的Ajax.ActionLink
重载,你的不会编译.
要传递参数,您可以这样做:
@Ajax.ActionLink(
"A",
"About",
null,
new AjaxOptions {
HttpMethod = "POST",
OnSuccess = "updateLetter('A')"
},
new {
id = "letter_A"
}
)
Run Code Online (Sandbox Code Playgroud)
然后:
function updateLetter(letter)
{
$("#letter-" + letter).toggleClass('selected');
}
Run Code Online (Sandbox Code Playgroud)
就个人而言,我不是Ajax.*
助手的粉丝.我使用了一种由标准HTML组成的替代方法ActionLink
:
@Html.ActionLink(
"A",
"About",
null,
new {
@class = "letter"
id = "letter_A"
}
)
Run Code Online (Sandbox Code Playgroud)
我在一个单独的javascript文件中不引人注意地AJAXify:
$(function() {
$('.letter').click(function() {
var $letter = $(this);
$.post(this.href, function(result) {
$letter.toggleClass('selected');
});
});
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
12329 次 |
最近记录: |