gpt4 book ai didi

jquery - asp.net mvc 3 的转发器类型控件

转载 作者:行者123 更新时间:2023-12-01 08:21:30 24 4
gpt4 key购买 nike

.net mvc 3 是否有任何类似 asp:repeater 的控件(也许是一些 html 帮助器方法)?

我进行了一些谷歌搜索,只找到了一些本土解决方案。

这就是我需要的:我的用户将有一个数字下拉列表,具体取决于他们选择的内容 (1-8),我需要重复下面的一组代码来为他们提供相同的输入字段列表(1 到 8 次之间)。

使用 mvc 3 和 jquery 实现此目的的最佳方法是什么?

最佳答案

您应该使用jquery templates为此

我从我当前正在处理的项目中复制粘贴了一些代码,但我认为您已经了解如何使用 jquery 模板解决问题。

您可以将模板放入局部 View 中。例如:

<input type="hidden" id="productId" value="${ProductId}"/>
<div class="formElement">
<label>@Globalization.Workorders.Domainname</label>
<input type="text" id="domainname" name="domainname" />
</div>
<div class="formElement">
<label>@Globalization.Workorders.StartDate</label>
<input type="text" id="startDate" value=""/>
</div>
<input type="submit" id="addHostingProduct" value="@Globalization.Workorders.Add"/>
<input type="button" id="addHostingProductCancel" value="@Globalization.Workorders.Cancel"/>

该模板采用 json 对象或 json 对象数组进行渲染。 ${...} 替换为 json 中的值。

我通常将部分 View /模板放在 View 中,如下所示:

<script id="AddHostingProductTemplate" type="text/x-jquery-tmpl">
@Html.Partial("Templates/AddHostingProduct")
</script>

当页面首次加载时,您可以执行以下操作来设置初始值:

<script type="text/javascript">
$(document).ready(function() {
@foreach (var workOrderLine in Model.WorkOrderLines)
{
<text>
$('#AddHostingProductTemplate').tmpl(@workOrderLine.ToJson()).appendTo("#products")
</text>
}

});
</script>

ToJson方法是我放在viewmodel上的一个方法,它只是将viewmodel序列化成json字符串。

当用户单击按钮或更改下拉列表时,可以轻松地在客户端代码中使用模板来呈现额外的模板。只需使用:

$('#AddHostingProductTemplate').tmpl({ someValue: '1', someOtherValue : ' test' }).appendTo("#products")

希望这有帮助

关于jquery - asp.net mvc 3 的转发器类型控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7109354/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com