【问题标题】:Same Partial View on Single Page in MVC在 MVC 中的单个页面上的相同部分视图
【发布时间】:2012-12-26 12:05:00
【问题描述】:

我使用 aspx 视图引擎编写了以下部分视图

<%: Html.Telerik().DatePicker()
.Name("datePicker")
.Format(ViewData["dateFormat"].ToString())
.Value(ViewData["dateValue"].ToString())
%>

现在在我的单页上,我已经使用了这个局部视图两次。 主页包含

<%: Html.Partial("DateTimePicker") %>
 Some Code and again Partial View
<%: Html.Partial("DateTimePicker") %>

可能名称相同,这就是它无法正常工作的原因。
如何解决这个问题?

其实问题出在javascript上。

div class="t-widget t-datetimepicker">
<div class="t-picker-wrap">
<input id="datePicker" class="t-input" type="text" name="datePicker">
<span class="t-select">
<span class="t-icon t-icon-calendar" title="Open the calendar">Open the calendar</span>
<span class="t-icon t-icon-clock" title="Open the time view">Open the time view</span>
</span>
</div>
</div>
<div class="t-widget t-datetimepicker">
<div class="t-picker-wrap">
<input id="datePicker" class="t-input" type="text" name="datePicker">
<span class="t-select">
<span class="t-icon t-icon-calendar" title="Open the calendar">Open the calendar</span>
<span class="t-icon t-icon-clock" title="Open the time view">Open the time view</span>
</span>
</div>
</div>

这就是 Firebug 向我展示的 HTML。 这里两个输入 ID 都是 datePicker,这就是 java 脚本函数不起作用的原因。 如何在局部视图中动态获取 Id。

【问题讨论】:

  • 有什么问题?你遇到了什么错误?
  • 您能否检查生成的标记是否有 2 个具有相同 id 的 DOM 元素?这是不允许的。
  • @BehnamEsmaili 实际上第一个日期控制工作正常。但是第二个局部视图 JS 不工作

标签: javascript asp.net-mvc asp.net-mvc-3 partial-views


【解决方案1】:

在您的情况下,创建一个自定义 html 帮助器会更合适,它将接收名称和值作为参数。

这里有一个链接可以让你开始Custom helper implementation

【讨论】:

  • 是的,这是一种方式。但我想通过使用局部视图来实现这一点。正如我们在 Asp.Net 中的 UserControl 一样,UserControl 相当于 Partial 视图。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-22
  • 1970-01-01
  • 2011-04-09
  • 2011-11-16
  • 2018-10-20
  • 1970-01-01
相关资源
最近更新 更多