ValidateForms验证对含FormRow及GroupPanel的form验证好像有问题,点击按钮没反应,没有去执行控制器的代码,是不是我View里的代码有问题?
以下是我的View代码:
@{
ViewBag.Title = "ProductNew";
var F = @Html.F();
}
@model FutureMvc.Models.Product
@section body {
@(F.Panel()
.ID("Panel1")
.ShowBorder(false)
.ShowHeader(false)
.AutoScroll(true)
.IsViewPort(true)
.Layout(LayoutType.VBox)
.Toolbars(
F.Toolbar()
.ID("Toolbar1")
.Items(
F.Button()
.ID("btnClose")
.Icon(Icon.SystemClose)
.Text("关闭")
.Listener("click", "F.activeWindow.hide();"),
F.ToolbarSeparator(),
F.Button()
.ID("btnSaveClose1")
.ValidateForms("SimpleForm1")
.Icon(Icon.SystemSaveClose)
.Text("保存后关闭")
.OnClick(Url.Action("ProductNew_btnSaveClose_Click"), "SimpleForm1")
)
)
.Items(
F.Form()
.ID("SimpleForm1")
.ShowBorder(false)
.ShowHeader(false)
.BodyPadding(10)
.Items(
F.FormRow()
.Items(
F.TextBoxFor(m => m.ProdNo).Required(true).RequiredMessage("产品编号不能为空!"),
F.TextBoxFor(m => m.Name).Required(true).RequiredMessage("产品名称不能为空!")
),
F.FormRow()
.Items(
F.DropDownListFor(m => m.CategoryId)
.ID("ProdCategoryId")
.EnableSimulateTree(true)
.DataTextField("Name")
.DataValueField("ID")
.Label("产品类别")
.DataSimulateTreeLevelField("TreeLevel")
.DataEnableSelectField("Enabled")
.Required(true)
.ShowRedStar(true)
.DataSource(ViewBag.ProductCategoryDataSource),
F.DropDownListFor(m => m.TechCategory)
.DataTextField("TechCategory")
.DataValueField("TechCategory")
.DataSource(ViewBag.TechCategorySource)
),
F.GroupPanel()
.ID("GroupPanel1")
.Layout(LayoutType.Anchor)
.Title("产品规格")
.Items(
F.Panel()
.ID("Panel2")
.Layout(LayoutType.HBox)
.BoxConfigAlign(BoxLayoutAlign.Stretch)
.ShowHeader(false)
.ShowBorder(false)
.Items(
F.TextBoxFor(m => m.length).Width(250).LabelAlign(LabelAlign.Right),
F.TextBoxFor(m => m.width).Width(250).LabelAlign(LabelAlign.Right),
F.TextBoxFor(m => m.height).Width(250).LabelAlign(LabelAlign.Right)
)
),
F.GroupPanel()
.ID("GroupPanel2")
.Layout(LayoutType.Anchor)
.Title("技术参数")
.Items(
F.Panel()
.ID("Panel3")
.Layout(LayoutType.HBox)
.BoxConfigAlign(BoxLayoutAlign.Stretch)
.ShowHeader(false)
.ShowBorder(false)
.Items(
F.TextBoxFor(m => m.Reserver1).Label("压制比例").Width(250),
F.TextBoxFor(m => m.Reserver2).Label("抛光比例").Width(250),
F.TextBoxFor(m => m.Reserver3).Label("负荷").Width(250)
)
),
F.FormRow()
.MarginTop(5)
.Items(
F.DropDownListFor(m => m.Unit)
.DataTextField("Unit")
.DataTextField("Unit")
.DataSource(ViewBag.UnitSource),
F.TextBoxFor(m => m.StandPrice),
F.TextBoxFor(m => m.SquarePrice)
),
F.FormRow()
.Items(
F.TwinTriggerBox()
.ID("tbSelectedClient")
.EnableEdit(false)
.Trigger1Icon(TriggerIcon.Clear)
.Trigger2Icon(TriggerIcon.Search)
.ShowTrigger1(false)
.ShowTrigger2(true)
.OnClientTrigger1Click("onSelectedClientTrigger1Click();")
.OnClientTrigger2Click("onSelectedClientTrigger2Click();")
.Label("初次客户")
.Text(""),
F.HiddenField()
.ID("hfSelectedClient")
.Text(""),
F.DatePickerFor(m=>m.QuoteDate).Width(150)
),
F.FormRow()
.Items(
F.CheckBoxFor(m => m.Disabled).LabelAlign(LabelAlign.Right),
F.DatePickerFor(m => m.DisabledDate).Width(150)
),
F.FormRow()
.Items(
F.TextAreaFor(m => m.Remark)
)
)
)
)
@(F.Window()
.ID("Window1")
.Title("编辑")
.Hidden(true)
.EnableIFrame(true)
.EnableMaximize(true)
.EnableResize(true)
.Target(Target.Top)
.IsModal(true)
.Width(550)
.Height(350)
)
}
@section script {
<script>
/////////////////////////////////////////////////////
function checkSelectedClientTriggerStatus() {
if (F.ui.tbSelectedClient.getValue()) {
F.ui.tbSelectedClient.showTrigger1();
} else {
F.ui.tbSelectedClient.hideTrigger1();
}
}
function onSelectedClientTrigger1Click() {
F.ui.tbSelectedClient.setValue('');
F.ui.hfSelectedClient.setValue('');
checkSelectedClientTriggerStatus();
}
function onSelectedClientTrigger2Click() {
F.ui.Window1.show(F.baseUrl + 'Client/SelectClient?ids=' + F.ui.hfSelectedClient.getValue(), '选择客户');
}
function updateSelectedClient(ClientName, ClientId)
{
F.ui.tbSelectedClient.setValue(ClientName);
F.ui.hfSelectedClient.setValue(ClientId);
checkSelectedClientTriggerStatus();
}
/////////////////////////////////////////////////////
/////////////////////////////////////////////////////
F.ready(function () {
checkSelectedClientTriggerStatus();
F.ui.ProdCategoryId.setValue(@ViewBag.CategoryId);
});
</script>
}
|