绑定<选择>在 ASP.NET MVC 3 中查看模型

发布于 2024-12-11 22:57:09 字数 799 浏览 0 评论 0原文

我的视图中有以下视图模型

public class FooViewModel
{
    public int SelectedCategoryId { get; set; }
    public IEnumerable<CategoryDto> AvailableCategories { get; set; }
}

我正在使用 jquery 模板将数据绑定到 select 标记

<script type="text/javascript">
$(document).ready(function () {
  var categories = @Model.AvailableCategories.ToJson();
  var categoryMarkup = '<option value="${Id}"${Selected}>${Name}</option>';
  $.template("categoryTemplate", categoryMarkup);
  $.tmpl("categoryTemplate", categories).appendTo($('#categories'));
});
</script>

<select id="categories"></select>

我需要做什么来确保我的 SelectedCategoryId viewmodel 属性获得填充在 POST 上?如果可以的话,我不想使用 Html.DropDownList

I have the following view model

public class FooViewModel
{
    public int SelectedCategoryId { get; set; }
    public IEnumerable<CategoryDto> AvailableCategories { get; set; }
}

in my view I am using jquery template to bind my data to a select tag

<script type="text/javascript">
$(document).ready(function () {
  var categories = @Model.AvailableCategories.ToJson();
  var categoryMarkup = '<option value="${Id}"${Selected}>${Name}</option>';
  $.template("categoryTemplate", categoryMarkup);
  $.tmpl("categoryTemplate", categories).appendTo($('#categories'));
});
</script>

<select id="categories"></select>

What would I need to do to make sure my SelectedCategoryId viewmodel property gets populated on the POST? I'd prefer not to use the Html.DropDownList if I can get away with it

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

爱人如己 2024-12-18 22:57:09

只需使用 html 帮助程序将其添加到您的表单中即可。前任。

Html.HiddenFor(o=>o.SelectCategoryId)

如果您的组合框正在更改此值,则只需设置一个 onchange 事件,

("#selectId").change(function(){
//something like this - untested
$("#SelectCategoryId").val(this.value);
 });

除非您使用显式 jQuery .ajax() 调用,否则您需要将此值添加到数据中。你发帖的时候用的是哪个?我在上面的任何地方都没有看到你的表格

Simply add it in your form using the html helpers. Ex.

Html.HiddenFor(o=>o.SelectCategoryId)

If your combo box is changing this then simply set an onchange event

("#selectId").change(function(){
//something like this - untested
$("#SelectCategoryId").val(this.value);
 });

Unless you are using an explicit jQuery .ajax() call in that case you will need to add this value to the data. Which are you using when you post? I don't see your form above anywhere

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文