MVC 部分视图按钮参数
MVC Partial View Button Parameter
我正在尝试在单击按钮后加载局部视图。每个按钮都有自己的 commodityCode
值,因此一旦单击每个按钮,将在局部视图中生成不同的结果。
我的问题是,当单击按钮时,只返回部分内容。相反,我希望将部分内容进一步加载到按钮所在的同一页面上。我不能使用 ajax.load()
Action 方法,因为我作为参数传递给部分控制器的变量是从 foreach(var item in Model.commodities)
代码中获取的(如下所示),我认为没有是一种通过 foreach
循环将数据从模型传递到 jQuery
然后传递到控制器的方法。有没有一种方法可以让我使用 C# 而不是 jQuery 来指定页面上应该加载局部视图的位置?
@foreach (var item in Model.commodities)
{
<tr>
<td>
<a class="arrow_button" href='@Url.Action("TliSelect", "Commodity", new { tariff = ViewBag.scac, commodityCode = item.commodityCode })'>
<img style="width:15px; height:15px;" src="@Url.Content("/Content/images/expand-sm.png")" />
</a>
</td> // Continued...
您生成的 link 将重定向到新页面。您需要使用 ajax 使用 TliSelect()
方法返回的部分视图更新当前页面。
更改 link(按钮)以包含 commodityCode
值的 data-
属性,以便它可以在您的脚本中存储和检索
<a class="arrow_button" href="#" data-code="@item.commodityCode">....</a>
那么你的脚本将是
var url = '@Url.Action("TliSelect", "Commodity")';
var tariff ='@ViewBag.scac';
var container = $(yourElement); // the element where you want to append the partial
$('.arrow_button').click(function() {
var code = $(this).data('code');
container.load(url, { tariff: tariff, commodityCode: code });
});
或者如果您想继续附加部分,请将 .load()
替换为
$.get(url, { tariff: tariff, commodityCode: code }, function(html) {
container.append(html);
});
请注意,这假设您的 TliSelect()
方法 returns 是局部视图。
我正在尝试在单击按钮后加载局部视图。每个按钮都有自己的 commodityCode
值,因此一旦单击每个按钮,将在局部视图中生成不同的结果。
我的问题是,当单击按钮时,只返回部分内容。相反,我希望将部分内容进一步加载到按钮所在的同一页面上。我不能使用 ajax.load()
Action 方法,因为我作为参数传递给部分控制器的变量是从 foreach(var item in Model.commodities)
代码中获取的(如下所示),我认为没有是一种通过 foreach
循环将数据从模型传递到 jQuery
然后传递到控制器的方法。有没有一种方法可以让我使用 C# 而不是 jQuery 来指定页面上应该加载局部视图的位置?
@foreach (var item in Model.commodities)
{
<tr>
<td>
<a class="arrow_button" href='@Url.Action("TliSelect", "Commodity", new { tariff = ViewBag.scac, commodityCode = item.commodityCode })'>
<img style="width:15px; height:15px;" src="@Url.Content("/Content/images/expand-sm.png")" />
</a>
</td> // Continued...
您生成的 link 将重定向到新页面。您需要使用 ajax 使用 TliSelect()
方法返回的部分视图更新当前页面。
更改 link(按钮)以包含 commodityCode
值的 data-
属性,以便它可以在您的脚本中存储和检索
<a class="arrow_button" href="#" data-code="@item.commodityCode">....</a>
那么你的脚本将是
var url = '@Url.Action("TliSelect", "Commodity")';
var tariff ='@ViewBag.scac';
var container = $(yourElement); // the element where you want to append the partial
$('.arrow_button').click(function() {
var code = $(this).data('code');
container.load(url, { tariff: tariff, commodityCode: code });
});
或者如果您想继续附加部分,请将 .load()
替换为
$.get(url, { tariff: tariff, commodityCode: code }, function(html) {
container.append(html);
});
请注意,这假设您的 TliSelect()
方法 returns 是局部视图。