相同的部分视图在单一页面在MVC

Same Partial View on Single Page in MVC

本文关键字:一页 MVC 单一页 视图      更新时间:2023-09-26

我使用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

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

这里有一个链接,它会给你一个开始的自定义助手实现