asp.net mvc 3 的转发器类型控件
是否有任何类型的 .net mvc 3 控件(可能是一些 html 帮助器方法)像 asp:repeater 一样工作?
我做了一些谷歌搜索,只找到了一些本土解决方案。
这是我需要的: 我的用户将有一个数字下拉列表,具体取决于他们选择的内容 (1-8),我需要重复下面的一组代码来为他们提供相同的输入字段列表(1 到 8 次)。
使用 mvc 3 和 jquery 实现此目的的最佳方法是什么?
is there any sort of control for .net mvc 3 (some html helper method perhaps) that works like an asp:repeater?
I've done some googling and only found some home grown solutions.
Here's what I need:
My users will have a drop down list of numbers, depending what they select (1-8), I need to repeat a set of code below to offer them the same list of input fields (between 1 and 8 times).
what would be the best way to accomplish this with mvc 3 and jquery?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您应该使用 jquery templates 为此,
我从我的项目中复制粘贴了一些代码我目前正在研究,但我想您已经了解如何使用 jquery 模板解决您的问题了。
您可以将模板放在局部视图中。例如:
模板采用 json 对象或 json 对象数组来渲染。 ${...} 替换为 json 中的值。
我通常将部分视图/模板放在视图中,如下所示:
当页面首次加载时,您可以执行以下操作来设置初始值:
ToJson 方法是我放在视图模型上的方法,它只是序列化viewmodel 转换为 json 字符串。
当用户单击按钮或更改下拉列表时,可以轻松使用客户端代码中的模板来呈现额外的模板。只需使用:
希望这有帮助
You should use jquery templates for this
I copy-pasted some code from a project I'm currently working on, but I think you get the picture how you can solve your problem with jquery templates.
You can put the templates in a partialview. For example:
The template takes a json object or an array of json objects to render. The ${...} are replaced with values from the json.
I usually put the partialviews/templates in the view like this:
When you're page first loads, you can do something like this, to set the initial values:
The ToJson method is a method I put on the viewmodel, it just serializes the viewmodel into a json string.
When a user clicks a button or changes the dropdown, it's easy to use the template in your client side code to render the extra templates. Just use:
Hope this helps
将所有 8 个输入字段放在页面上,并使用 jQuery 根据选择框中选定的数字显示/隐藏字段。
Put all 8 input fields on the page, and use jQuery to show/hide the fields based on the selected number in the select box.