问题标签 [viewusercontrol]
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 - Asp.net MVC 用户控件 ViewData
当控制器基于模型呈现视图时,您可以使用索引器从 ViewData 集合中获取属性(即 ViewData["Property"])。但是,我有一个共享用户控件,我尝试使用以下方法调用它:
在我的消息控件上,我有这个:
我认为这将正确呈现 DisplayMessage,但是,正在返回 null。经过大量的修补后,我终于创建了一个“MessageData”类来强类型化我的用户控件:
现在这个电话有效:
并且可以这样显示:
为什么不将 DisplayMessage 属性添加到 ViewData(即 ViewData["DisplayMessage"])集合中而不需要强类型化用户控件?这是设计使然吗?ViewData 将包含“DisplayMessage”的键是否有意义?
html - 从控制器内部获取部分视图的 HTML
我为我的 mvc 网站开发了一个简单的机制,通过 jquery 拉入 html,然后填充指定的 div。一切都很好,看起来很酷。
我的问题是我现在在我的控制器内创建 html 标记(这在 VB.net 中很容易做到)我宁愿不混淆关注点的分离。
是否可以使用自定义的“MVC 视图用户控件”来满足这种需求?我可以创建一个控件实例,传入模型数据并渲染到 html 吗?这将是一个简单的渲染和传递回调用浏览器的问题。
asp.net-mvc - 如何处理从视图用户控件发布表单期间发生错误的情况?
我有一个可以发布表单的视图用户控件。此控件可用于多个视图。如果用户输入无效数据,我会向 ModelState 添加错误 - 就这么简单。问题是我不知道要返回哪个视图/操作结果,因为我不知道用户从哪里发布表单。好的,我可以得到 urlreferer - 但这对我来说看起来不太好。任何的想法?
asp.net-mvc - 你能创建一个 int 或 enum 类型的强类型 ASP.NET MVC ViewUserControl 吗?
我希望创建一个可重用的 ASP.NET MVC ViewUserControl,它是强类型的枚举。
这可以做到吗?当我尝试它时,它说 ViewUserControl 可以接受的强类型只能是引用类型:(
这也意味着我不能将 int 作为 TModel 传递。
我为什么要这样做?我在我网站的各个地方,我正在显示一个依赖于枚举的简单图像。因此,我不想在多个地方复制该逻辑,而是希望拥有这个可重复使用的 ViewUserControl 并传入枚举。
例如。
我猜解决方案是不创建强类型的 ViewUserControl (因为 TModel 类型只能是类型类),然后执行以下操作..
并在 ViewUserControl ...
干杯:)
c# - ASP.Net MVC ViewUserControl 与控制器使用 MVC 1.0
由于所有预览版本和一个官方版本中关于 mvc 的所有信息之间存在混淆,我非常困惑如何处理 viewusercontrols。所以一劳永逸地告诉我如何实现这个例子:
我有一个即将发生的事件列表,需要在我网站的多个页面上显示。因此,我在 Views\Shared 文件夹中放置了一个新的 ViewUserControl (ListEvents.ascx)。
我请求这个 ListEvents.ascx 在我的 Home/Index 视图上呈现,如下所示:
我将如何将我的模型传递给这个 viewusercontrol?我知道我可以这样做:
但这似乎不是一件很聪明的事情,从视图内部创建一个新模型?!还是我在这里错了?我什至不能通过任何验证状态,因此是 null 参数。因此,另一种选择是将这些数据存储到 ViewData[] 成员中,但我的 viewusercontrol 不应该依赖于它的父级的 ViewData!
我确信有一个非常简单的答案,请在我浏览完这个问题的网页后分享。
谢谢!
简单的答案:viewusercontrol 应该总是从它所在的视图中接收它的模型。解决这个问题,比如向 viewusercontrol 添加代码隐藏文件,会破坏 MVC 模式。
asp.net-mvc - ASP.NET MVC ViewUserControl:如何动态加载其脚本?
我有一个 ViewUserControl 将在我网站的某些页面中使用,但不是全部。
此 ViewUserControl 需要一个 javascript 文件,因此我希望将脚本引用自动添加到使用此 ViewUserControl 的页面的头部会话中,这可能吗?
我试图向它添加一个内容控件,但看起来它是不允许的。
我也可以将脚本标记直接添加到 ViewUserControl 的 .ascx 代码中,但是如果我在页面中有 N 个此类控件,我将添加脚本引用 N 次。
有没有人有任何想法?
asp.net-mvc - 当我单击打开 ViewPage 或 ViewUserControl 时,Visual Studio 2008 为我挂起
当我在 Visual Studio 2008 中双击 ViewPage 或 ViewUserControl 时,整个应用程序都会挂起,我不知道为什么......
我可以在事件日志中找到的唯一错误日志是:
asp.net - asp.net mvc - 视图和控制器
控制器如何知道要返回哪些视图?我认为这是通过命名约定,但我已经看到了一些实例,例如在 Nerd Dinner 应用程序中,名称不匹配。我在哪里或如何看到这个映射?谢谢。
asp.net-mvc - ASP.NET MVC - 包含的用户控件
我希望能够使用他们自己的控制器创建 ViewUserControl,以便完全包含所有逻辑。现在,我必须将 ViewUserControls 与主控制器连接起来,如果我想在其他地方使用这些 viewUserControls,我将不得不再次连接它们。有可能做我希望的事情吗?
asp.net-mvc - MVC - 动态加载局部视图
我试图通过传递我想要的部分视图的路径列表然后在每个视图上调用 RenderPartial 来将部分视图动态加载到视图中。这似乎可以解决问题。当我尝试将模型传递给局部视图时,问题就出现了。由于我是动态加载它们的,所以我不完全知道要为特定的局部视图传递哪个模型。我不想填充每个可能的对象,我正在考虑使用反射和配置查找来为每个局部视图动态加载模型。我也在考虑添加一个 ActionFilter,它会自动为我填充正确的模型值,但即使是这个实现也必须使用反射。有没有人有任何其他建议?
我想念在 MVC 中看不到的常规 ASP.NET 用户控件的一件事。用户控件封装了自己的数据检索逻辑,而在 MVC 中,主控制器需要了解它。这意味着如果我要为另一个控制器使用局部视图,该控制器还必须知道如何获取该局部视图的模型。我在这里错过了什么吗?谢谢。