【发布时间】:2013-03-20 19:44:26
【问题描述】:
对于我正在开发的 MVC 应用程序,我有一个可以填充多个子视图的视图,如下所示:
部分视图
@model SuperFoo
<!-- snip unimportant details... ->
@foreach(var current in Model.Items)
{
@Html.Partial('_Item', current);
}
<!-- ...SNIP more useless details... -->
<script>
$(document).ready(function () {
$('.add-item').click(function () {
// Make some AJAX call to do something.
});
});
</script>
个别项目部分
@model Foo
<div class='some-styling'>
@Html.HiddenFor(m => m.Name)
@Html.HiddenFor(m => m.PropA)
@Html.HiddenFor(m => m.PropN)
<input type='text' value='' />
<a href='javascript:;' class='no-line add-item'>Add To Cart</a>
</div>
我想弄清楚两件事:
A)如何确保只有我点击的特定按钮触发其事件,以及
B) 我如何使用针对特定项目获得的信息的特定信息?如果您注意到,我的项目级别视图中有一个可编辑的输入字段。当触发点击时,生成的 AJAX 调用需要使用该文本框中的值(这是最简单的部分,$('selector').val())
我只使用 jQuery 和 MVC3。问题(可能是一个愚蠢的问题,但我们会看到):我的个人添加项目链接如何使用呈现它们的部分上下文进行操作?
【问题讨论】:
-
在这里使用编辑器模板而不是部分可能更有意义
-
不管怎样,我还是需要根据上下文进行操作。如何呈现上下文的载体不应该重要。
标签: c# javascript jquery asp.net-mvc-3