- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个对象列表,例如 Employee,我正在尝试使用带有员工 ID 的自定义参数获取所有员工姓名的下拉列表。模型如下
public class Emp
{
public string EmployeeName {get;set;}
public int employeeId {get;set;}
}
我想用 HTML.DropdownlistFor 创建一个下拉列表,如下所示
<select>
<option employeeid="101"> Emp1 <option>
<option employeeid="102"> Emp2 <option>
<option employeeid="103"> Emp3 <option>
</select>
最佳答案
您的 HTML 无效,<select>
标记没有名为 employeeid 的属性。由于您显然是在尝试将 employeeId 绑定(bind)到选项的值,因此您应该使用经典的 name
和 value
可以按如下方式使用的属性:
<select name="employeeid">
<option value="101">Gary</option>
<option value="102">John</option>
<!-- etc -->
</select>
现在,在 MVC 项目的 Controller 操作中,您收到一个名为 employeeid 的参数,其类型为 int
.当您提交表单时,模型绑定(bind)器(查找)将自动绑定(bind)您在“employeeid”选择输入元素中选择的值。
@daniell89 提供的答案向您展示了使用 Razor template language 填充选择标签的好方法。几乎每个人都将其用于 C# MVC 项目。注意 ViewModel
如何你在你的 view
中使用不必与 ViewModel
相同您提交给您发布的操作,所以 public int SelectedEmployee { get; set; }
在 ViewModel
中实际上没有必要,只要您将“employeeid”作为您提交的操作的参数。
为了使用自定义属性,您将不得不放弃传统的 MVC,因为您将要发布的帖子将由 AJAX 帖子完成。您将需要导入 jQuery 库(实际上您可以使用 vanilla javascript 或您选择的任何库,我更喜欢 jQuery 用于此类内容),如果需要,请查看如何导入它。
像这样在代码中使用 ViewModel:
public class Employee {
public string Name { get; set; }
public string EmployeeId { get; set; }
}
然后在您的 View 中使用此模型( View 的第一行代码,除非您有 using 语句):
@model IEnumerable<Employee>
然后在您想要选择按钮的地方创建此代码:
<select id="my-select-element">
@foreach(var employee in Model) {
<text>
<option employeeid="@employee.EmployeeId">@employee.Name</option>
</text>
}
</select>
<button id="submit-employee">Send!</button>
这将创建您的选择标签,其中包含您放入 View 模型中的所有员工,以及一个用于将数据发送到服务器的按钮。
然后在您的页面上包含以下 jQuery 脚本,它将收集您的数据并将其发送到服务器。
<script>
$("#submit-employee").on("click", function(event) {
event.preventDefault(); //will prevent default behaviour done by clicking the button
var selecttag = $("#my-select-element");
var id = $(selecttag).find("option").prop("selected").attr("employeeid");
$.post("<your URL>", { employeeid: id }, function(result) {
console.log(result);
}
}
</script>
然后在服务器代码上的 Controller 中,有一个对应的操作并用 int emplyeeid
对其进行参数化因此:
[HttpPost]
public ActionResult SubmitEmployee (int employeeid) {
return new Json().Body(new { message = "I saw " + employeeid })
}
如果一切顺利,如果您在发送之前选择 101 作为员工,您浏览器中的控制台窗口将向您显示一个返回的对象,该对象具有一个值为“我看到 101”的“消息”键。
我在 stackoverflow 编辑器中输入了所有这些代码,所以我可能在调用类型时犯了一些语法错误或错误(我不确定你是否可以只做 new Json().Body() 例如,尽管我知道您肯定可以做类似的事情。
我希望这能回答您的问题。
关于c# - 具有动态自定义参数的 MVC 下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42669473/
好的,所以我编辑了以下... 只需将以下内容放入我的 custom.css #rt-utility .rt-block {CODE HERE} 但是当我尝试改变... 与 #rt-sideslid
在表格 View 中,我有一个自定义单元格(在界面生成器中高度为 500)。在该单元格中,我有一个 Collection View ,我按 (10,10,10,10) 固定到边缘。但是在 tablev
对于我的无能,我很抱歉,但总的来说,我对 Cocoa、Swift 和面向对象编程还很陌生。我的主要来源是《Cocoa Programming for OS X》(第 5 版),以及 Apple 的充满
我正在使用 meta-tegra 为我的 NVIDIA Jetson Nano 构建自定义图像。我需要 PyTorch,但没有它的配方。我在设备上构建了 PyTorch,并将其打包到设备上的轮子中。现
在 jquery 中使用 $.POST 和 $.GET 时,有没有办法将自定义变量添加到 URL 并发送它们?我尝试了以下方法: $.ajax({type:"POST", url:"file.php?
Traefik 已经默认实现了很多中间件,可以满足大部分我们日常的需求,但是在实际工作中,用户仍然还是有自定义中间件的需求,为解决这个问题,官方推出了一个 Traefik Pilot[1] 的功
我想让我的 CustomTextInputLayout 将 Widget.MaterialComponents.TextInputLayout.OutlinedBox 作为默认样式,无需在 XML 中
我在 ~/.emacs 中有以下自定义函数: (defun xi-rgrep (term) (grep-compute-defaults) (interactive "sSearch Te
我有下表: 考虑到每个月的权重,我的目标是在 5 个月内分散 10,000 个单位。与 10,000 相邻的行是我最好的尝试(我在这上面花了几个小时)。黄色是我所追求的。 我试图用来计算的逻辑如下:计
我的表单中有一个字段,它是文件类型。当用户点击保存图标时,我想自然地将文件上传到服务器并将文件名保存在数据库中。我尝试通过回显文件名来测试它,但它似乎不起作用。另外,如何将文件名添加到数据库中?是在模
我有一个 python 脚本来发送电子邮件,它工作得很好,但问题是当我检查我的电子邮件收件箱时。 我希望该用户名是自定义用户名,而不是整个电子邮件地址。 最佳答案 发件人地址应该使用的格式是: You
我想减小 ggcorrplot 中标记的大小,并减少文本和绘图之间的空间。 library(ggcorrplot) data(mtcars) corr <- round(cor(mtcars), 1)
GTK+ noob 问题在这里: 是否可以自定义 GtkFileChooserButton 或 GtkFileChooserDialog 以删除“位置”部分(左侧)和顶部的“位置”输入框? 我实际上要
我正在尝试在主页上使用 ajax 在 magento 中使用 ajax 显示流行的产品列表,我可以为 5 或“N”个产品执行此操作,但我想要的是将分页工具栏与结果集一起添加. 这是我添加的以显示流行产
我正在尝试使用 PasswordResetForm 内置函数。 由于我想要自定义表单字段,因此我编写了自己的表单: class FpasswordForm(PasswordResetForm):
据我了解,新的 Angular 7 提供了拖放功能。我搜索了有关 DnD 的 Tree 组件,但没有找到与树相关的内容。 我在 Stackblitz 上找到的一个工作示例.对比drag'ndrop功能
我必须开发一个自定义选项卡控件并决定使用 WPF/XAML 创建它,因为我无论如何都打算学习它。完成后应该是这样的: 到目前为止,我取得了很好的进展,但还有两个问题: 只有第一个/最后一个标签项应该有
我要定制xtable用于导出到 LaTeX。我知道有些问题是关于 xtable在这里,但我找不到我要找的具体东西。 以下是我的表的外观示例: my.table <- data.frame(Specif
用ejs在这里显示日期 它给我结果 Tue Feb 02 2016 16:02:24 GMT+0530 (IST) 但是我需要表现为 19th January, 2016 如何在ejs中执行此操作?
我想问在 JavaFX 中使用自定义对象制作 ListView 的最佳方法,我想要一个每个项目如下所示的列表: 我搜了一下,发现大部分人都是用细胞工厂的方法来做的。有没有其他办法?例如使用客户 fxm
我是一名优秀的程序员,十分优秀!