Javascript 下拉列表是否可以在mvc中的创建视图窗体上触发要更新的局部视图?
我尝试应用于创建视图表单的选项是,在将记录写入数据库之前,用户从“创建自”上的下拉列表中选择一项,当用户从“创建视图表单”上的下拉列表中选择记录时,隐藏在此表单上的部分视图将变为可见,并显示其中的值取景袋 在我不知道之前,我已经寻求过帮助,问题很清楚,目标是什么,这是在创建上,这可能会阻止发生,因为这可能是mvc方法中的一个限制,因为mvc是针对小型设备的。我正在一台完整的pc上构建这个应用程序。有人说这是可以做到的。我正在使用viewbag,因为这是我唯一了解的。。我不理解模型的概念,也不知道ajax是什么或如何使用。我只知道如何使用javascripting函数,正如我所看到的例子 到目前为止我所拥有的 对于我的局部视图,我有类似的东西:叫做_IssuesListPartialJavascript 下拉列表是否可以在mvc中的创建视图窗体上触发要更新的局部视图?,javascript,c#,jquery,asp.net-mvc,asp.net-mvc-4,Javascript,C#,Jquery,Asp.net Mvc,Asp.net Mvc 4,我尝试应用于创建视图表单的选项是,在将记录写入数据库之前,用户从“创建自”上的下拉列表中选择一项,当用户从“创建视图表单”上的下拉列表中选择记录时,隐藏在此表单上的部分视图将变为可见,并显示其中的值取景袋 在我不知道之前,我已经寻求过帮助,问题很清楚,目标是什么,这是在创建上,这可能会阻止发生,因为这可能是mvc方法中的一个限制,因为mvc是针对小型设备的。我正在一台完整的pc上构建这个应用程序。有人说这是可以做到的。我正在使用viewbag,因为这是我唯一了解的。。我不理解模型的概念,也不知道
<table cellpadding="1" border="1">
<tr>
<th>
Issues List
</th>
</tr>
@foreach (SystemX.Models.VUE_ISSUE_LIST_FULL item in ViewBag.IssuesList)
{
<tr>
<td>
@item.ISSUE_DISCRIPTION
</td>
</tr>
}
</table>
在“创建表单”视图中,我只有很少的项。。。表单上我希望此列表在显示时显示的区域:
在函数“公共行动结果创建”下,我有:
public ActionResult Create(int RES_ID, FormCollection Collection, [Bind(Include = "R.... and so on...
UpdateIssuesList(int.Parse(Collection["RES_ID"]));
根据公共行动结果,我有:
对UpdateIssuesList函数的函数调用。。我只是发送一个随机值,它将生成一个空白列表
UpdateIssuesList(808);
也
这是创建视图窗体的代码,我要在其中渲染局部视图:
<div class="col-sm-6">
<div class="form-horizontal" style="display:none" id="PV_IssueList">
@{ Html.RenderAction("UpdateIssuesList",new {@VID = 1 });}
</div>
</div>
mvc是否可以更新create from,因为那里什么都没有?没有代码或事件触发器会在提交表单之前刷新部分视图,因此这在mvc中可能不可能实现,我正在浪费时间尝试。我刚刚粉碎了我所看到的人们的想法,因为我没有看到在create视图中呈现列表的实际示例,所以我在这里追逐风车。感谢您花时间阅读此文章
因此,当我运行这段代码时,我在选择了一个值(部分视图的标题文本,但在列表数据上)后进入页面。当我逐步完成时,我在变量和内容中获得数据,但在创建视图表单的屏幕上没有数据确定由于某种原因,答案被删除,因此我将尝试以不同的方式回答。我的工作方式是首先在这个表单和其他表单以及一些研究的用户帮助下完成的。正如建议的那样,使用ajax语言是一个很大的帮助 以下是背后的Ajax代码:
$(document).ready(function () {
$('#RES_VID').change(function ()
{
debugger;
$.ajax(
{
url: '@Url.Action("UpdatePartialViewList")',
type: 'GET',
data: { VID: $('#RES_VID').val() },
success: function (partialView)
{
$('#PV_WidgetList').html(partialView);
$('#PV_WidgetList').show();
}
});
因此,这里要说明的是,我的控制器中有一个名为UpdatePartialViewList的函数。该函数将部分视图及其视图包传回:
控制器中的功能如下:
[HttpGet]
public ActionResult UpdatePartialViewList(int? VID)
{
ViewBag.AList = Get_List(VID);
return PartialView("_WidgetListPartial",ViewBag.AList);
}
这两个项目看起来像是一个占位符。因为这会将信息传递回页面。因此,在我的创建视图中,我有:
updatePartialViewList.ParseCollection[RES_VID];
在要显示局部视图的“创建视图”屏幕上
<div class="col-sm-6">
<div class="form-horizontal" style="display:none" id="PV_WidgetList">
@{ Html.RenderAction("UpdatePartialViewList");}
</div>
</div>
希望这能帮助其他使用webforms并试图获得整个mvc的用户。致以最良好的祝愿 因为mvc是针对手机的,所以小型设备是完全不正确的。不太清楚您想要显示什么,但是如果您想更新元素中的html,那么它需要是$.get'/Create/_IssuesListPartial',{VID:1},functiondata{$'PV_IssueList.htmldata;};如果您想发送id=RES_id的元素值,那么将{VID:1}替换为{VID:$this.val},您的问题不清楚。如果要基于下拉选择创建局部显示,这相当容易。请解释你想要什么。我不明白$.post/Create/_IssuesListPartial?VID=1将产生什么效果do@progrAmmar您好,我正在尝试用列表填充局部视图。当下拉列表值更改时,列表将被填充。列表将被更改。该值被发送到生成列表的函数,然后通过下拉列表上的“更改时的局部视图”将该列表推送到“创建视图”屏幕。如果列表没有返回值,我希望列表消失。我不认为mvc能做到这一点,因为我从来没有见过mvc能做到这一点,而且基于其他问题。看来没有人能使它起作用。我想手机可以处理这种复杂性。Tks
$(document).ready(function () {
$('#RES_VID').change(function ()
{
debugger;
$.ajax(
{
url: '@Url.Action("UpdatePartialViewList")',
type: 'GET',
data: { VID: $('#RES_VID').val() },
success: function (partialView)
{
$('#PV_WidgetList').html(partialView);
$('#PV_WidgetList').show();
}
});
[HttpGet]
public ActionResult UpdatePartialViewList(int? VID)
{
ViewBag.AList = Get_List(VID);
return PartialView("_WidgetListPartial",ViewBag.AList);
}
<div class="col-sm-6">
<div class="form-horizontal" style="display:none" id="PV_WidgetList">
@{ Html.RenderAction("UpdatePartialViewList");}
</div>
</div>