【发布时间】:2017-08-18 08:13:08
【问题描述】:
我有一个索引页面,其中列出了表格中的一些记录。
现在在每条记录中,我添加了一个 DropDownList,我想要的是当您使用侧面的 ActionLink 选择记录时,不仅发送记录的 ID,而且从 DropDownList 中发送所选值的 ID 作为好吧。
您能建议吗?
<script type="text/javascript">
$(document).ready(function () {
$("#LoanId").change(function () {
var selectedLoan = $("#LoanId option:selected").val();
});
});
</script>
@model IEnumerable<Project.ViewModels.BrowseTemplates>
@{
ViewBag.Title = "Index";
}
<h2>Available Templates </h2>
<script src="~/Scripts/jquery-3.1.1.js"></script>
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.TemplateLanguage.TemplateType.TemplateTypeName)
</th>
<th>
@Html.DisplayNameFor(model => model.TemplateLanguage.Language.LanguageName)
</th>
<th>
@Html.DisplayNameFor(model => model.TemplateName)
</th>
<th>
@Html.DisplayNameFor(model => model.TemplateLanguage.TemplateType.Category.CategoryName)
</th>
<th><label>Loan</label></th>
<th></th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.TemplateLanguage.TemplateType.TemplateTypeName)
</td>
<td>
@Html.DisplayFor(modelItem => item.TemplateLanguage.Language.LanguageName)
</td>
<td>
@Html.DisplayFor(modelItem => item.TemplateName)
</td>
<td>
@Html.DisplayFor(modelItem => item.TemplateLanguage.TemplateType.Category.CategoryName)
</td>
<td>
@Html.DropDownList("Loans", null, "Please Select", htmlAttributes: new { @class = "form-control", style = "width:200px", @id="LoanId" })
</td>
<td>
<div id="LinkDiv">
@Html.ActionLink("Generate Document", "Create", "Documents", new { TemplateId = item.ID, LoanId = item.LoanId }, null)
</div>
</td>
</tr>
}
</table>
【问题讨论】:
-
您需要使用javascript响应客户端事件并根据所选值构建url
-
请注意,您生成的 html 无效(
<select>中的id属性重复) -
为此使用 AJAX。 api.jquery.com/category/ajax
-
@manuzi1,OP要重定向,所以ajax不合适
标签: c# jquery asp.net asp.net-mvc razor