问题标签 [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.
asp.net-mvc - 如何在 MVC3 的局部视图中呈现部分?
在 MVC3 项目中,我有一个包含此代码的“_Layout.vbhtml”文件
然后,我在共享文件夹中有一个部分视图“ValidationScripts.vbhtml”
如果我从这样的视图中调用部分视图......
“脚本”部分未在页面上呈现,输出 HTML 为
如何在部分视图中渲染部分?
asp.net-mvc - 如何使用 ASP.NET MVC 从一个表创建标签并将值存储在另一个表中
我的数据库中有一个名为 Field 的表和一个名为 FieldValue 的表。我的模型如下所示:
我想将每个字段显示为标签,然后显示与该字段关联的每个 FieldValue 的文本框,但我不太确定如何处理这个问题。如果这很重要,我正在使用 MVC 4。
asp.net-mvc - 如何在一次提交中多次保存模型?
我有一个模型:
我的创建视图如下所示:
所以每个文本框都将是数据库中的一条新记录。有可能做这样的事情吗?我该如何处理?另外我最大的问题是每个字段可能是一个文本框或一个组合框或一个收音机......等等......名称可能是一个文本框,但年龄可能是一个组合框......我知道我现在有所有文本框但是这可能会改变。
asp.net-mvc - 如何处理 MVC 视图中的“魔术字符串”,例如元素 id:s?
在我的 MVC 视图中,我经常需要从 JavaScript 中引用各种元素,为此我为这些元素定义了 id 属性。这通常与更新各种容器元素内容的 Ajax 调用结合使用。
一个简短的例子(剃刀):
这包含三个“魔术字符串”:“PersonList”、“PersonDetails”和“CurrentPersonId”。Ajax 调用可能如下所示:
再次出现魔术字符串“PersonDetails”。
不好!
任何人都可以提出一些“最佳实践”来在一个地方定义这些魔法字符串并将它们用于 1)视图,2)最好是实现 Ajax 调用等的静态 JavaScript 文件,以及 3)CSS 文件?
我在想,也许 _Layout.cshtml 可以包含一个局部视图,该视图定义了该控制器甚至特定操作的魔术字符串。它将检查调用它的控制器和/或操作,并基于此调用适当的局部视图。我已经为 .css 和静态 .js 做了类似的事情,让我简单地添加 Person.css 并自动将其包含在 Person 控制器的所有视图中。
部分视图会做这样的事情:
这应该让 Razor 代码使用 C# 字符串 consts 生成适当的 HTML,并且静态 JavaScript 文件可以引用 jQuery 选择器等中的 NamesAndIds。(假设在局部视图中定义的 consts 将在调用视图中可用,我对此表示怀疑(避风港'还没有检查过)......我不知道如何在.css文件中使用它们。
有更好的建议吗?你如何处理这个问题?
asp.net-mvc-3 - 有没有办法使 ASP.NET MVC 3 ActionCache 失效
我有一个 ASP.NET MVC 3 应用程序,它使用自定义属性为模型属性创建选择控件,这些属性可以在运行时从外部数据源填充。问题是我的EditorTemplate
输出似乎在应用程序级别缓存,因此当它们的数据源更改时,我的下拉列表不会更新,直到应用程序池被回收。
我还输出了ActionCache
绑定到ViewContext.HttpContext
对象的 MVC 3 的内容,如 System.Web.Mvc.Html.TemplateHelpers.cs:95 中的 MVC 3 源代码所示。
- 动作缓存 GUID:
adf284af-01f1-46c8-ba15-ca2387aaa8c4
: - 动作缓存集合类型:
System.Collections.Generic.Dictionary``2[System.String,System.Web.Mvc.Html.TemplateHelpers+ActionCacheItem]
- 动作缓存字典键:
EditorTemplates/Select
所以看起来Select
编辑器模板肯定被缓存了,这将导致该TemplateHelper.ExecuteTemplate
方法总是返回缓存的值,而不是ViewEngineResult.View.Render
第二次调用。
有没有办法清除 MVC ActionCache 或以其他方式强制 Razor 视图引擎始终重新渲染某些模板?
作为参考,以下是相关的框架组件:
接下来,在~\Views\Shared\EditorTemplates\Select.cshtml
.
最后,我有一个视图模型、选择提供程序类和一个简单视图。
**编辑**
根据评论中的建议,我开始更仔细地研究ObjectContext
生命周期。虽然存在一些小问题,但该问题似乎与实现中的 LINQ 表达式中涉及回调的奇怪行为有关SelectProvider
。
这是相关的代码。
并且,从捕获的输出System.Diagnostics.Trace
是
我不确定这里可能出了什么问题。我认为Select
可能需要一个Expressions
,但我只是仔细检查了,LINQSelect
方法只接受Func
对象。
有什么额外的建议吗?
asp.net-mvc - 为 mvc4 视图引擎添加文件夹以在其中查找视图
我正在使用 MVC4 并希望为视图引擎设置自定义位置以在其中查找视图。目前它只会在它期望视图存在的文件夹之外的 Shared 文件夹中查找。
我想再添加 2 个文件夹位置以在其中查找视图。如何在 mvc4 中实现?我不想操纵它目前的工作方式,只需添加额外的文件夹供它查看。
注意:我已经使用基于请求设备呈现视图的显示模式 - 我不想通过我的更改来影响这一点。
c# - MVC 4 路由/控制器逻辑 - 一些基本的问题
我昨天有这个工作,为什么它停止工作完全超出了我的范围。我有以下基本场景:
我的申请中有两种类型的角色,租户和房东。当租户登录时,他们应该被引导到租户个人资料页面,房东也是如此(目前我只与租户合作)。
这是场景的工作流程:
用户通过 登录
_LoginPartial
,我确定部分中的逻辑是正确的,但由于某种原因,所以不会让我将剃须刀代码正确粘贴到此处...单击登录按钮将调用
/li>Login
ActionResult
.AccountController
该方法验证用户并检查他们的角色。如果用户是租户角色,他们应该被重定向MyProfile
ActionResult
到TenantsController
. 代码Login
:被调用后
/li>MyProfile
应显示用户的个人资料。代码MyProfile
ActionResult
:
正如我所说,这是昨天的工作,但是当我单击登录按钮时出现以下错误_RegisterPartial
:
未找到“登录”视图或其主视图,或者没有视图引擎支持搜索到的位置。搜索了以下位置:~/Views/Account/Login.aspx ~/Views/Account/Login.ascx ~/Views/Shared/Login.aspx ~/Views/Shared/Login.ascx ~/Views/Account/Login。 cshtml ~/Views/Account/Login.vbhtml ~/Views/Shared/Login.cshtml ~/Views/Shared/Login.vbhtml
为什么 MVC 寻找一个名为 Login 的视图?我没有将它指定为路由到名为 Login 的视图。我的路由/控制器逻辑有问题吗?帮助将不胜感激。
c# - MVC 4 - 如何将模型数据传递给局部视图?
我正在构建一个个人资料页面,其中包含许多与特定模型(租户)相关的部分 - AboutMe、MyPreferences - 诸如此类。这些部分中的每一个都将是一个局部视图,以允许使用 AJAX 进行局部页面更新。
当我单击ActionResult
TenantController 中的 an 时,我能够创建一个强类型视图,并且模型数据可以很好地传递给视图。我无法通过部分视图来实现这一点。
我创建了一个局部视图_TenantDetailsPartial
:
然后我有一个视图MyProfile
将呈现提到的部分视图:
如果我将代码包装在 DIV 中_TenantDetailsPartial
,@if(model != null){}
页面上不会显示任何内容,所以我猜测有一个空模型被传递给视图。
当我从ActionResult
“会话”中的用户创建强类型视图时,怎么会传递给视图?如何将“会话”中的用户传递给不是从创建的局部视图ActionResult
?如果我遗漏了关于这个概念的一些东西,请解释一下。
javascript - 如何在 MVC 视图中调用自动点击事件?
我有 MVC 应用程序。有一个视图包含一些属性和评论链接。当用户点击评论链接时,评论 div 会展开,所有评论都会显示给用户。现在我想自动化该功能,或者我可以说想跳过该点击过程,当用户看到该视图时,所有评论都应该出现。(无需点击链接,所有评论都应显示)
怎么做 ?
查看代码
asp.net-mvc - @Html.DisplayName 未正确显示电子邮件地址
我正在尝试这样显示
结果是:仅 com。
为什么?在这种情况下必须使用什么
我在这里解释更多
我的意图是用网格以非常通用的方式显示内容。
这是我的网格 C# 类。我将值分配给 Grid.data 并使用 viewbag 我将网格数据发送到视图,然后我在部分视图中使用它
这是我的部分视图代码
最后我得到了这个答案。但我对bcz不满意,还有另一个很好的解决方案。