【发布时间】:2014-03-12 14:30:19
【问题描述】:
问题陈述:
如何在视图中执行 CRUD 操作时从多个控制器的布局中访问选定的下拉值。
Layout.cshtml 中的下拉列表:
<li>@Html.Action("Index", "LanguageDropdown", new { languageid = Request["languageId"] })</li>
下拉的部分视图:
@model ALCMS.Web.Models.Master_or_Configuration.LanguageDropdownModel
<script type="text/javascript">
function GetLanguage() {
var languageId = $('#LanguageId').val();
var Url = "@Url.Content("~/MasterConfigGeneral/GetLanguage")";
$.ajax({
url: Url,
dataType: 'json',
data: { LanguageId: languageId },
success: function (data) {
}
});
}
</script>
<div style="display:inline-block">
@Html.DropDownListFor(l => l.LanguageID, new SelectList(Model.Languages, "Value", "Text"), "Select Language", new { id = "LanguageId" ,onchange="GetLanguage()" })
</div>
部分视图控制器:
public ActionResult Index(string languageId)
{
//return View();
var languages = dbEntity.LookupLanguages;
var model = new LanguageDropdownModel
{
LanguageID = languageId,
Languages = languages.ToList().Select(l => new SelectListItem
{
Value = Convert.ToString(l.LanguageID),
Text = l.Name
})
};
return PartialView(model);
}
现在在另一个控制器中,例如:Test.Controller 我想在 Actionresult 方法下访问它。
Public ActionResult Create(LanguageDropdownModel objDropdown)
{
//I want to access the dropdown value languageId from the layout
}
建议我一些方法来做到这一点???
本题参考(接上一题): Click here to see previous question
【问题讨论】:
-
你试过什么??你应该可以像以前一样通过 ID 调用,因为布局会在页面上呈现 HTML。
-
您的问题缺乏上下文。通常,除非您使用 Ajax,否则不会访问视图中的值,如果您使用的是 ajax,您只需像访问任何其他 HTML 控件一样访问它。它与 MVC 无关,因为只有 JavaScript使用最终生成的 HTML。
-
@ErikFunkenbusch-抱歉我的错误。我没有编写控制器,而是编写了视图。我想访问在其中一个控制器的布局中定义的选定下拉值。
-
@Anon-我已经更新了我的问题,给我一些建议。
-
@ErikFunkenbusch-我已经更新了我的问题,建议我采取一些方法。
标签: jquery .net asp.net-mvc asp.net-mvc-4 razor