ASP.NET MVC 3 将 KeyValuePair 类型的用户控件绑定到 ViewModel

2023-12-09

我创建了一个继承 KeyValuePair 的特殊用户控件。 在我的 ViewModel 中,有一个名为 Lookup 的属性

[UIHint("Lookup")]
public KeyValuePair<string, string> lookup { get; set; }

用户控制是

Html.TextBoxFor(m => m.Value, new { id = "Name", style = "width: 200px; background-color: #C0C0C0" })

Html.HiddenFor(m => m.Key, new { id="Guid"})

用户控件有一些设置 TextBox 和隐藏字段的值的 Jquery 语句。

当我对控制器的 POST 方法进行 DEBUG 时,我在 Lookup 属性中没有看到任何值?!

但是如果我将属性的类型更改为字符串而不是 KeyValuePair 并且还更改用户控件的类型,我看到一个值。

我想我已经很接近了,但我无法弄清楚。


The KeyValuePair结构体没有默认的无参数构造函数,并且无法由模型绑定器实例化。我为您的视图推荐一个仅具有这些属性的自定义模型类。

public class CustomControlViewModel
{
    public string Key { get; set; }
    public string Value { get; set; }
}

将您的 KVP 转换为此模型类以供您查看和/或使用此类作为操作的参数。

[HttpGet]
public ActionResult Lookup()
{
    return View( new CustomControlViewModel { Value = kvp.Value, Key = kvp.Key } );
}

[HttpPost]
public ActionResult Lookup( CustomControlViewModel lookup )
{
     ...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASP.NET MVC 3 将 KeyValuePair 类型的用户控件绑定到 ViewModel 的相关文章

  • 为什么在 VS2008/Casini 中启动调试时 Application_Init 会触发两次?

    为什么在 VS2008 Casini 中启动调试时 Application Init 会触发两次 是的 它发生在 global asax 中 虽然看起来相当随机 但只偶尔发生一次 我假设您引用的是 ASP NET MVC 应用程序中的 Gl
  • 如何获取行数据绑定事件中单元格的值?以及如何检查单元格是否为空?

    我正在使用 sqldatasource 和GridView 我想从 GridView 中获取单元格的值RowDataBound事件 因为我不能使用e RowIndex 如果单元格为空 如何检查 updatetng 事件 我用了if null
  • 我应该在学习 ASP.NET 和 Sharepoint 之前学习 .NET 和 C# 吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我是 Unix 和 Linux 的资深用户 在这些技术方面分别拥有大约 30 年和 14 年的经验 但为了扩展我的工具箱 我正在寻找有关学习 S
  • 如何使用jquery uploadify插件将文件内容传递到[WebMethod]

    我想使用 jquery uploadfy 插件将文件内容传递到 WebMethod 但是无法调用Upload方法 有人可以帮助我吗 提前致谢 索引 aspx
  • 有没有办法在将文件写入响应后完成回发?

    我有一个按钮 单击该按钮后 将生成 PDF 并将其写出到响应中 这是代码的基本结构 try using Stream stream generatePdf var file createFile stream file Transmit H
  • 通过 JavaScript 选择 CascadingDropDown 中的项目并调用更新

    在代码隐藏中 我可以这样做来选择某些内容 Select item in first DropDownList myCascadingDropDown 1 SelectedValue itemValue 1 itemText 1 Select
  • 以编程方式添加超链接到列表项

    我想以编程方式获得以下 HTML ul li a href a li ul 我可以添加 li to ul But a to li 不可能 My code BulletedList ul new BulletedList ListItem l
  • 将序列化表单传递给 Action 并绑定到模型

    我正在尝试绑定从 Ajax 调用收到的模型 但这不起作用 也许有人可以帮助我 我正在使用 Ajax 调用 ValidateFile Action ajax url Url Action ValidateFile Converter data
  • 在 ASP.NET Core 2 中的layout.cshtml 中使用和路由Less 文件

    我用过管理部分的模板 引导管理模板 https github com puikinsh Bootstrap Admin Template在我的项目中并安装它Bower我已经申请了ASP NET Core 2 当我运行该项目时 我收到一个错误
  • 序列化时忽略属性

    我正在为这件事抓狂 我正在尝试实现一个多步骤向导 并且我正在使用Html SerializeMVC3 Futures 中的 html 助手 这很有效 除了我的模型中的属性之一是SelectList 我不希望这个属性被序列化 无论如何尝试它都
  • MVC 4 - 在局部视图中使用不同的模型

    请忍受我的noobness 我对 MVC 模式非常陌生 我正在尝试做什么 我正在为我的网站上的注册用户构建个人资料信息页面 该页面将列出有关用户的数据 例如出生日期 电话号码 订阅状态等 您明白了 我还想要一个表格让用户更改密码 电子邮件地
  • ASP.NET MVC - 如何实现可重用的用户控件并保持DRY?

    第一次发帖 请多多包涵 在 ASP NET MVC 中创建用户控件时 构造代码的最佳方法是什么 以便调用使用用户控件的视图的控制器不必对控件了解太多 我想知道在 ASP NET MVC 中使用用户控件时保持 DRY 的好方法 请注意 此问题
  • 如何在网页上显示进度条直到网页完全加载?

    我想在网页中显示进度条 加载弹出窗口 直到页面完全加载 我的网页很重 因为它包含一个 HTML 编辑器 这是一个基于 jQuery 的 HTML 编辑器 需要很多时间才能完全加载 在加载时 我希望在页面上显示一个进度条 该进度条将在整个页面
  • 循环引用和ScriptIgnore问题

    我有几个相互引用的 BusinessObject 类 我需要在 JsonResponse 中序列化一个类并将其返回到我的视图 我不断收到循环引用异常 但无法摆脱它 我已经放置了 ScriptIgnore 每个不是简单数据类型属性的属性上的装
  • 如何对页面的某个部分进行实时更新?

    我需要刷新页面的各个部分 以便在有新数据时进行更新 我该怎么办 使用jquery 例子 是的 jQuery 非常适合这个 查看这些方法 http api jquery com category ajax http api jquery co
  • 使用 linq 检查记录是列表中的最后一个还是第一个

    我有一个对象列表 我想确定用户何时会获得列表中的第一个或最后一个对象 这样我就可以禁用页面上的一些按钮 例如 我可能有一些布尔值 如果请求的对象是列表中的最后一个或第一个 那么它将返回true 否则false 任何想法 如果您的对象列表确实
  • ASP:Datagrid 中的 Eval 与 DataField

    我有一个非常随机的问题困扰着我 它在一天结束时有效 但问题需要一些时间才能弄清楚 并且想知道为什么会发生这种情况 因此如果有人对这个主题有所了解 我将非常感激 这是问题所在 我的数据网格上有以下两列
  • 对我自己的表使用表单身份验证

    我有一个小数据库 没什么特别的 只有 5 个表 我想使用表单身份验证 但它创建自己的数据库来完成它的工作 我不需要任何花哨的东西 当然也不需要添加的基础设施 但我想要身份验证提供的安全表单 我有一个人员表 带有登录名和密码字段 我怎样才能让
  • 这种 ASP.NET 会话访问多用户安全技术吗?

    我正在研究一种在我公司的很多项目中都出现过的设计模式 它在历史上一直运行正常 但是我听到其他一些开发人员认为使用这种模式可能会导致会话损坏 我正在 Stack Overflow 上寻找其他 NET 开发人员的见解 基本上 有一个类 通常是s
  • 频繁访问临时 ASP.NET 文件被拒绝

    从字面上看 每当我运行一个又大又丑的网站项目时 我都会收到一个 UnauthorizedAccessException 其中有一条消息指向 DLL 例如Temporary ASP NET Files ctheweb 0d76d363 469

随机推荐

  • 使用 clickAction = NULL 将 networkD3 中的节点链接到网站

    有没有办法使用该函数将节点用作外部网站的链接forceNetwork in the networkD3封装在r 我在想也许可以修改clickAction 示例数据 library networkD3 data MisLinks data M
  • 在纯 Javascript 中,尝试过滤包含 User 对象的数组中的多个值,该数组包含其他对象和数组

    感谢您查看此内容 抱歉 篇幅较长 试图弄清楚 我正在尝试做什么 我有一组用户 每个用户一个对象 并试图根据多个标准 来自法国的男性 或 来自西班牙和美国且具有工程技能的女性 等 来过滤用户 但到目前为止 它已被证明超出了我的技能范围 困难的
  • Apache Phoenix 的列族

    我创建了下表 CREATE TABLE IF NOT EXISTS events product name VARCHAR 32 event name VARCHAR 32 event uuid VARCHAR 32 CONSTRAINT
  • LibreOffice / OpenOffice Calc:VBscript,将 XLS 工作表导出为 CSV

    我现在正在尝试编写一个脚本一段时间 但似乎其中一部分不起作用 情况 我需要一个 VB 脚本 可以使用任何 Windows XP 或 7 系统上安装的任何 LibreOffice OpenOffice Calc 在我的例子中为 3 5 4 将
  • peewee:Python int 太大,无法转换为 SQLite INTEGER

    我有以下代码 from peewee import Model CharField BigIntegerField DateTimeField SqliteDatabase db SqliteDatabase samples db clas
  • 从每日时间序列(动物园)中子集冬季(Dez、Jan、Feb)

    我有一个每日动物园 xts 包含几十年的数据 格式如下 head almorol 1973 10 02 1973 10 03 1973 10 04 1973 10 05 1973 10 06 1973 10 07 183 9 208 2 1
  • 使用 MPMoviePlayerController 播放电影时隐藏状态

    我已经使用隐藏应用程序中的状态栏 UIApplication sharedApplication setStatusBarHidden YES 但是当我播放电影时 它会自动在顶部显示状态栏 有谁知道如何在播放电影时隐藏状态栏 您可以订阅MP
  • 如何使用通配符执行 SQLite LIKE 查询而不是读取为通配符

    当查询恰好具有 或 通配符的文本字段时 我在 SQLite 中遇到问题 我有一个带有 名称 字段的表 我想查询 我的两条记录在我想要查询的 名称 字段中具有值 test 和 te t 如果我运行如下查询 SELECT ALL from Ta
  • 将 2010 Q1 转换为日期时间 2010-3-31

    如何找到将 Year Q 转换为日期时间的智能解决方案 我尝试使用 pd to datetime working visa nationality Year Q 但出现错误说无法识别 所以我尝试了一个愚蠢的方法 working visa n
  • 帮助破译这个致命错误(Java)

    Java 运行时环境检测到致命错误 EXCEPTION ACCESS VIOLATION 0xc0000005 at pc 0x762a76d0 pid 4072 tid 2984 JRE version 6 0 26 b03 Java V
  • 查看通货膨胀和自定义视图

    我的应用程序中有一个自定义视图 我使用onDraw 视图中的函数 它还需要来自活动的一些数据来绘制图形 所以不要使用标准setContentView R layout myview 我正在使用以下内容 MyView mv new MyVie
  • WebAPI OData 日期时间序列化

    我需要更改 OData 序列化的方式DateTime and DateTimeOffset 目前我们正在使用Microsoft AspNet OData 5 9 0 默认情况下 格式最有可能是yyyy MM dd T HH mm ss FF
  • 在 Objective-C 中调用 C 函数从 Nib 唤醒

    我必须在 Objective C 类中实现一个 C 函数 该函数通常会被调用int main 在它自己的文件中 由于我不熟悉拼接代码 我需要知道如何在awakefromnib or applicationDidFinishLaunching
  • C++11 变量初始化和声明

    C 11 带来了一种初始化和声明变量的新方法 Original int c derived 0 C 11 int modern 0 每种方法有哪些优缺点 如果有的话 为什么要实施新方法 编译器做了什么不同的事情吗 你错了 int moder
  • 将 MBF Single 和 Double 转换为 IEEE

    Follow Up available There s a follow up with further details see Convert MBF to IEEE At thisWiki 页面上有一些不同代码示例的链接 用于在 C C
  • Sequelize:多个 where 子句

    我有以下表格 文章 用户 标签 关注者 订阅 文章属于用户 fk 文章表中的 userId 文章可以有多个标签 这是生成的 tagarticle 表 这是关注者表 以及订阅表 一个用户可以关注多个用户并订阅一个国家 payId 一个标签或一
  • mySQL 错误 1040:连接过多

    如何修复这些 SQL 错误 1040 连接过多 即使我尝试把 max user connection 500 仍然是 连接太多 MySQL 错误 1040 连接过多 这基本上表明 MySQL 同时处理最大连接数 默认情况下它处理100同时连
  • 如何更改 showModalBottomSheet 的大小? [扑]

    我正在使用一个showModalBottomSheet我想更改小部件的大小 使其占据大约 75 的屏幕 默认情况下它似乎占据 50 我尝试按照文档进行操作 但找不到尺寸属性 有人可以建议我一种更改此小部件大小的方法吗 目前看起来像这样 Co
  • 函数的多次返回

    是否可以有一个具有两个返回值的函数 如下所示 function test testvar Do something return var1 return var2 如果是这样 我如何才能分别获得每笔回报 从技术上讲 您不能返回多个值 但是
  • ASP.NET MVC 3 将 KeyValuePair 类型的用户控件绑定到 ViewModel

    我创建了一个继承 KeyValuePair 的特殊用户控件 在我的 ViewModel 中 有一个名为 Lookup 的属性 UIHint Lookup public KeyValuePair