我正在尝试使用部分视图,但我完全迷失了。最初我试图将动态数据传递到局部视图但是当你按下谷歌浏览器F12键时我最终得到了403禁止。
部分视图我已经减少到一个允许它加载数据的字段
<table cellpadding="1" border="1">
<tr>
<th>
FIELD LBL1
</th>
</tr>
@foreach (MvcProgram.Models.LIST_FULL item in @ViewBag.ListFull)
{
<tr>
<td>
@item.FIELD1_DATA
</td>
</tr>
}
</table>
错误告诉我mvc无法使用视图包推送动态数据,因为它禁止。所以我正在废弃这个想法,因为我尝试了各种失败的解决方法。现在我只想在视图包中用静态数据填充局部视图,但我想因为当页面在创建视图上立即失败时没有值列表。出现此错误:
对象引用未设置为对象的实例。
描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.NullReferenceException:未将对象引用设置为对象的实例。
它在我的部分视图的foreach循环中停止
@foreach (ComputerProgram.Models.LIST_FULL item in @ViewBag.ListFull)
MVC在创建视图时可以使用部分视图吗?我的列表是使用下拉列表中的ID构建的,但当然在创建视图之前没有选择,直到用户交互了表单。
所以我的问题是MVC甚至可以在创建视图中渲染部分视图,或者这是由于某些mvc限制你只能在webforms中执行的操作。
创建视图
<div class="col-sm-6">
<div class="form-horizontal" style="display:none" id="PV_IssueList">
@Html.Partial("_VehIssuesListPartial")
</div>
</div>
我似乎能够获得此MVC创建视图以显示部分视图的唯一方法是为视图包构建列表,并使用要呈现的已知记录填充它。这可能是正确的:部分视图是否仅在屏幕上可用,屏幕上有数据?
控制器代码既可以说是获取代码也可以代码:
// GET: VRS_REQUEST/Create**********************************
public ActionResult Create()
{
some code stuff
ViewBag.VehIssuesList = GetList(808); //Force it to get something so that the page loads
return View(model);
}
帖子创建代码:
// POST: VRS_REQUEST/Create
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(int RES_ID, FormCollection Collection, [Bind(Include = Some Fields....
{
//ViewBag.ListFull = GetList(RES_ID);
//UpdateList(int.Parse(Collection["RES_ID"])); // Was part of the attempt at dynamic data for partial view that shows forbidding
... CODE THAT DOES STUFF
return RedirectToAction("Index");
}
return View(model);
}
当前代码的工作方式,它忽略下拉列表,只填充我硬编码的值。有人会说我为什么要使用一个观景包,这就是我所知道的。我根本不懂模特。如果不能通过创建视图来完成这一点,因为屏幕是空的,那么为我工作很酷 - 我只需要知道。
这是我的代码,因为我已经中止了尝试使用动态数据再次执行此操作的想法MVC说这是禁止的。
如果我从create controller get函数中删除它,页面将不会加载,我得到null错误;
ViewBag.VehIssuesList = GetList(808);
我必须强制页面的值加载...所以这是因为我试图在创建视图上执行此操作而MVC无法处理它?</ p>
答案 0 :(得分:0)
_WidgetListPartial @if语句将处理null情况。如果部分视图的数据返回为null。
Launching interactive setup of CloudWatch Logs agent ...
Step 1 of 5: Installing pip ...DONE
Step 2 of 5: Downloading the latest CloudWatch Logs agent bits ...
Traceback (most recent call last):
File "./awslogs-agent-setup.py", line 1144, in <module>
main()
File "./awslogs-agent-setup.py", line 1140, in main
setup.setup_artifacts()
File "./awslogs-agent-setup.py", line 696, in setup_artifacts
self.install_awslogs_cli()
File "./awslogs-agent-setup.py", line 523, in install_awslogs_cli
subprocess.call([AWSCLI_CMD, 'configure', 'set', 'plugins.cwlogs', 'cwlogs'], env=DEFAULT_ENV)
File "/usr/lib64/python2.7/subprocess.py", line 524, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib64/python2.7/subprocess.py", line 711, in __init__
errread, errwrite)
File "/usr/lib64/python2.7/subprocess.py", line 1327, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory