这是打开模态框的按钮(有效):
<button data-toggle="modal" data-target="#modal-addItem-@sectionCount-@rowCount" class="btn btn-success">Add New List Item</button>
这是模式:
<div id="modal-addItem-@sectionCount-@rowCount" role="dialog" aria-hidden="true" aria-labelledby="modal-addItem-@sectionCount-@rowCount" class="modal fade">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
<h4 class="modal-title">Added List Item</h4>
</div>
@Html.Partial("_SelectItemType", new ListItemsViewModel { listID = theLists.listID })
</div>
</div>
</div>
以下是部分视图已更新:
@using (Html.BeginForm("SelectItemType", "ListItems", null, FormMethod.Post, new { enctype = "multipart/form-data" }))
{
@Html.AntiForgeryToken()
@Html.HiddenFor(model => model.listID)
<div class="modal-body">
<div class="form-group">
<b class="control-label col-md-4">Select List Item Type:</b>
<div class="col-md-8">
@Html.DropDownListFor(model => model.ItemTypes.itemTypeName, DropDown.GeneralListCreator(get.getItemTypes(true), get.getItemTypes(false))) //This gets a list of item types
</div>
</div>
</div>
<div class="modal-footer">
<a class="btn btn-default" data-dismiss="modal">Close</a>
<input type="submit" value="Next Step »" class="btn btn-primary" />
</div>
}
因此,当我点击按钮时,它会打开模式。当我点击&#34;下一步&gt;&gt;&#34;按钮,它是表单上的提交按钮。 没有回复,没有表单提交......没有任何反应。
我不确定为什么这不起作用...有谁可以请指出我做错了什么?如果您需要更多信息,请与我们联系。
提前致谢。
更新:我尝试删除了部分脚本(因为它已经在视图中),正如克里斯指出的那样,但它仍未提交。
答案 0 :(得分:0)
所以答案很简单,当然。我找到了这个页面:ASP .NET MVC Disable Client Side Validation at Per-Field Level
它引导我正确地回答 Vsevolod 善意指出的答案。验证在客户端启用。我之前没有输出消息所以我不知道。当我添加:
@Html.ValidationMessageFor(model => model.ItemTypes.itemTypeName)
到我能够看到消息的表格:
The Item Type Name must be at least 2 characters long and no longer than 250 characters.
此下拉列表由此方法填充:get.getItemTypes(false)
如果为true,则返回名称,如果为false,则返回 Numbers(ID)。 id是1-9,只是一个数字。我需要2个字符来验证。因此它没有提交。
我的解决方案由顶部的链接提出:
@{ Html.EnableClientValidation(false); }
@Html.DropDownListFor(model => model.ItemTypes.itemTypeName, DropDown.GeneralListCreator(get.getItemTypes(true), get.getItemTypes(true)))
@Html.ValidationMessageFor(model => model.ItemTypes.itemTypeName)
@{ Html.EnableClientValidation(true); }
出于某种原因,即使我更改方法get.getItemTypes(false)
以返回名称(发送为true),验证仍然无法正常工作,所以我不得不将其关闭并重新打开。
谢谢大家的帮助。
答案 1 :(得分:0)
这对我有所帮助:
尝试添加
data-toggle="modal" data-target="#modal-addItem-@sectionCount-@rowCount"
在bootstraps documentation中查看此.modal('toggle')
。