问题标签 [asp.net-mvc-views]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 在单个视图中添加多个,ASP.NET MVC
我试图在一个视图中一次添加多个相同类型的项目,同时给出模型。
@model List<Item>
对于视图,它呈现,当我回发时,模型为空,即使表单数据发送正确但由于某种原因映射没有发生。
c# - 从视图内部获取调用者姓名
我正在使用
@Html.EditorFor(m => Model.FileListBefore)
我想从视图内部获取“FileListBefore”名称。我怎样才能做到这一点?
编辑(更多信息):
'EditorFor(m => Model.FileListBefore)' 使用我自己的子视图。在该子视图中,我想检索调用该视图的属性的名称。
为什么?因为我在打电话
@Html.EditorFor(m => Model.FileListBefore)
@Html.EditorFor(m => Model.FileListAfter)
'FileListBefore' 和 'FileListAfter' 是相同类型的 'FileList' (我自己的类),它们调用相同的子视图。我想在子视图中获取调用名称('FileListBefore' 和 'FileListAfter),因为我想识别它们并将其添加为 div 'id' 值。
c# - 插入带有集合属性的视图
我有一个 Person 类和一个 Contact 类。一个人可以有很多联系人。
控制器:
个人创建模型:
查看:
我想要完成的是用户可以在最终单击创建之前向 Person 添加多个联系人。
我有两个问题:
1-这是最好的方法吗?难道没有更简单/更短的方法,比如使用 javascript 或 jquery?
2-当我第一次单击 AddContact 时效果很好,第二次 Person.Contacts 为空,而且我无法清除 AddContact 文本框。
我在网上和 Stackoverflow 上都搜索过,但没有找到任何答案,这里有一个未回答的问题
PS:我是 MVC 的新手,来自 ASP.NET Webforms。
asp.net-mvc-3 - MVC3:如何在 _Layout 上同时呈现索引视图和部分视图
所以我得到了一个页面,它有一个标题,左边有一个导航菜单(这是一个部分视图),右边有一个内容(这是一个索引视图)。导航菜单后,我在重新加载每个页面的组件时遇到问题。
所以这是我的_Layout
我还有一个名为“MenuPartial”的部分视图,其中包含 actionlink 列表(带有 updateTargetID = “partial”),它将更新 Index.cshtml 的内容
在我的家庭控制器上,ActionResult Index 返回 View()
然后我在 _viewStart 上做了一点改变
}
所以,我需要的是,每次点击动作链接时,都会更新我的部分视图(它有一些更新的值,所以它也必须更新)和我的索引视图。而我目前的结果是,当我单击操作链接时,主体得到渲染,索引得到更新,但我的部分视图消失了。有人对此有解决方案吗?
asp.net-mvc - 在我的 ASP.NET MVC 应用程序中存储字符串常量的位置?
具体来说,我有一个电话号码在一堆视图(和几个动作)中使用,我想把它集中在某个地方以防它发生变化。web.config 是否足够好?有更好的地方吗?理想情况下,如果值更改,我不必重新编译。谢谢!
更新:到目前为止,我最喜欢局部视图,主要原因是没有重新编译,没有将它添加到视图模型中。我探索的另一个选项是 global.asax 中的 Application_Start 并使用 Application 字典(尽管听起来在 mvc 中不赞成使用该字典)。需要注意的一点是,我还需要在某些操作中使用此数字。还有更多的想法/意见吗?
c# - 在 MVC 视图中使用会话变量的直接答案?
我在使用 MVC 视图中的会话变量时遇到了困难。在下面的示例中,当我通过控制器将 IsLoggedIn 会话变量设置为 true 时,不满足视图中的 If 条件。注意:为了便于阅读,我剪掉了一些不相关的代码。提前致谢!
控制器:
看法:
asp.net-mvc - 我可以有一个不以延迟方式呈现的 MVC 部分/子视图吗?
据我所知,MVC 似乎对待部分视图不同于主要视图。似乎我可以访问主视图中的对象,但如果该对象将在主控制器操作返回后被释放(请参阅我的问题here),则不能访问它的子视图。
我认为这是为了在主控制器操作中的对象被处置很久之后,通过 AJAX 或其他方法促进这些部分视图的异步更新。这对我来说很有意义。
我现在尝试使用局部视图的方式,我不需要这种异步更新功能。我可以将部分视图全部剪切并放在一起,但我正在寻找的只是一种将我的视图分割成更小的块的方法,而不是将它们全部放在一个大文件中。
理想情况下,我希望能够将一个对象从我的控制器传递到我的视图,在视图和任何子/子视图中使用该对象,并且仅在视图及其子/子视图完成后处理该对象使用它。
编辑 - 添加一个例子
我在单个文件中有一个大复杂视图。想象一下,每一行实际上是一个更大、更复杂的视图标记和代码块:
ViewStuff.cshtml
为了方便和维护,我想将此视图分解为一些单独的文件,有效地将其部分提取到子视图中,例如“提取方法”重构之类的:
ViewStuff.cshtml
MoreViewStuff.cshtml
EvenMoreViewStuff.cshtml
据我所知,局部视图似乎是这个问题的答案,尽管似乎有很多方法可以使用。我遇到的问题是我的控制器正在将一个对象传递给控制器操作返回时释放的视图。
在“all in one file”场景下,我可以成功地利用对象构建完整视图,因为整个视图是在方法返回和对象被释放之前构建的。但是,这并不理想,因为这意味着大型、长、单一的视图文件以及以后可能出现的部分重复。
在“多个文件”场景中,主视图可以正常访问对象,因为它还没有被释放。但是主控制器操作方法在部分视图获得对象之前返回,处理对象。结果是局部视图中出现错误,正在寻找不再可用的对象。
我想要的是一种在控制器方法处理我的对象之前构建由多个有组织的块组成的完整视图的方法。
再次,请参阅我的另一个问题,了解有关我正在使用该对象做什么、它在控制器中的 using 语句等的更具体的代码。
c# - 使用参数加载不同的视图
我正在开发一个 MVC 4 C# 应用程序,并且正在回答如何使用来自同一控制器中的函数的参数加载不同视图的答案。
这是我的代码:
我想以 id 作为参数调用以下 Index 方法:
这是我得到的错误:
[ArgumentException:参数字典包含方法'System.Web.Mvc.ActionResult Index(Int32)'的不可空类型'System.Int32'的参数'id'的空条目
我正在尝试的代码是:
我可以帮忙吗?
提前致谢
asp.net-mvc - 我可以将 viewdatadictionary(mymodel) 传递到 mvc 视图中吗?那么如何访问呢?
我觉得问这个真的很愚蠢,肯定我错过了一些非常简单的东西,但我就是无法让它工作!
我在控制器中创建了一个这样的 ViewDataDictionary:
但我不知道如何访问视图中的数据。
我试过了:
...以及许多类似的组合。谁能指出我正确的方向?
更新
我意识到我可以使用 ViewBag 或 ViewData [“recipient”] 来传递它。但我很好奇这种方式。
以下来自MvcMailer的文档,编写它的人似乎知道他的东西,所以我认为它一定是传递数据的有效方式。
更新 2
呵呵,我看错了。
MvcMailer 在一个动作中调用一个动作,我应该在子动作中设置 ViewData(上面代码中的 OnEventBook() )。
c# - 无法访问视图
在我的控制器中调试时,我得到一个有效的模型
然而,随着执行达到return view(model);
我明白了
这个错误是关于什么的?