ASP.NET 剃须刀:表单未提交
本文关键字:提交 表单 NET 剃须刀 ASP | 更新日期: 2023-09-27 18:32:01
由于我在DateTime属性/输入字段中添加了DisplayFormat和日期选择器,因此我的表单停止提交。我没有收到任何错误(在chrome F12或Visual studio中)。
编辑:我已将显示格式设置为dd/MM/yyyy,并将日期选择器设置为" dd/mm/yyyy"。但这也没有解决它。
@using (Html.BeginForm("CreateCampaign", "Home")) {
@Html.ValidationSummary(true)
<fieldset>
<legend>Campaign</legend>
<div class="editor-label">
@Html.LabelFor(model => model.Campaign.CampaignName)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Campaign.CampaignName)
@Html.ValidationMessageFor(model => model.Campaign.CampaignName)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Campaign.WebsiteUrl)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Campaign.WebsiteUrl)
@Html.ValidationMessageFor(model => model.Campaign.WebsiteUrl)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Campaign.PrivacyPolicyUrl)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Campaign.PrivacyPolicyUrl)
@Html.ValidationMessageFor(model => model.Campaign.PrivacyPolicyUrl)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Campaign.TermsUrl)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Campaign.TermsUrl)
@Html.ValidationMessageFor(model => model.Campaign.TermsUrl)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Campaign.PricepageUrl)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Campaign.PricepageUrl)
@Html.ValidationMessageFor(model => model.Campaign.PricepageUrl)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Campaign.Startdate)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Campaign.Startdate)
@Html.ValidationMessageFor(model => model.Campaign.Startdate)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Campaign.Enddate)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Campaign.Enddate)
@Html.ValidationMessageFor(model => model.Campaign.Enddate)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Campaign.Starthour)
</div>
<div class="editor-field">
@Html.DropDownListFor(model => model.Campaign.Starthour, new SelectList(Model.Hours))
@Html.ValidationMessageFor(model => model.Campaign.Starthour)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Campaign.Endhour)
</div>
<div class="editor-field">
@Html.DropDownListFor(model => model.Campaign.Endhour, new SelectList(Model.Hours))
@Html.ValidationMessageFor(model => model.Campaign.Endhour)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Campaign.PMAM)
</div>
<div class="editor-field">
@Html.DropDownListFor(model => model.Campaign.PMAM, new SelectList(Model.AMPM, "key", "value"))
@Html.ValidationMessageFor(model => model.Campaign.PMAM)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Campaign.Language)
</div>
<div class="editor-field">
@Html.DropDownListFor(model => model.Campaign.Language, new SelectList(Model.Languages, "key", "value"))
@Html.ValidationMessageFor(model => model.Campaign.Language)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Campaign.FK_ID_MerchantApp)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Campaign.FK_ID_MerchantApp)
@Html.ValidationMessageFor(model => model.Campaign.FK_ID_MerchantApp)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Campaign.CampaignType)
</div>
<div class="editor-field">
@Html.DropDownListFor(model => model.Campaign.CampaignType, new SelectList(Model.Types, "key", "value"))
@Html.ValidationMessageFor(model => model.Campaign.CampaignType)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
<script type="text/javascript">
$('#Campaign_Startdate').datepicker({
dateFormat: "DD, d MM, yy",
minDate: new Date()
});
$('#Campaign_Enddate').datepicker({
dateFormat: "DD, d MM, yy",
minDate: new Date()
});
</script>
<div>
@Html.ActionLink("Back to List", "Index")
</div>
public class Campaign
{
#region CTor
public Campaign()
{
}
#endregion
#region Properties
[XmlElement(ElementName = "Id_campaign")]
public string ID_Campaign { get; set; }
[XmlElement(ElementName = "Campaignname")]
public string CampaignName { get; set; }
[XmlElement(ElementName = "Websiteurl")]
public string WebsiteUrl { get; set; }
[XmlElement(ElementName = "Privacypolicyurl")]
public string PrivacyPolicyUrl { get; set; }
[XmlElement(ElementName = "Termsurl")]
public string TermsUrl { get; set; }
[XmlElement(ElementName = "Pricepageurl")]
public string PricepageUrl { get; set; }
[XmlElement(ElementName = "Maxcredit")]
public Int32 MaxCredit { get; set; }
[XmlElement(ElementName = "Fk_id_currency")]
public string FK_ID_Currency { get; set; }
[XmlElement(ElementName = "Maxscans")]
public short MaxScans { get; set; }
[XmlElement(ElementName = "Startdate")]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:ddd, MMM d, yyyy}")]
public DateTime Startdate { get; set; }
[XmlElement(ElementName = "Enddate")]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:ddd, MMM d, yyyy}")]
public DateTime Enddate { get; set; }
[XmlElement(ElementName = "Starthour")]
public short Starthour { get; set; }
[XmlElement(ElementName = "Endhour")]
public short Endhour { get; set; }
[XmlElement(ElementName = "Pmam")]
public string PMAM { get; set; }
[XmlElement(ElementName = "Language")]
public string Language { get; set; }
[XmlElement(ElementName = "Fk_id_merchantapp")]
public string FK_ID_MerchantApp { get; set; }
[XmlElement(ElementName = "Campaigntype")]
public string CampaignType { get; set; }
[XmlElement(ElementName = "Createtimestamp")]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:ddd, MMM d, yyyy}")]
public DateTime CreateTimestamp { get; set; }
[XmlElement(ElementName = "Lastupdate")]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:ddd, MMM d, yyyy}")]
public DateTime LastUpdate { get; set; }
[XmlElement(ElementName = "Lastupdateby")]
public string LastUpdateBy { get; set; }
[XmlElement(ElementName = "Status")]
public short Status { get; set; }
}
我看到您将验证摘要设置为 true。 可能是不显眼的验证阻止了您的表单提交,并且由于错误未附加到特定字段而看不到它? 也许,尝试将其设置为 false,看看是否有任何弹出? 您是否在客户端验证的同时启用了不显眼的验证?
您是否使用chrome的网络工具来检查提交时是否发送了任何http帖子? 您是否也尝试过在模型中使用"日/月/年"?
您没有表单。将其包装在 Html.BeginForm 中:
@{ using (Html.BeginForm()) {
....
}
}
这听起来可能太明显了,但由于它在你添加"日期选择器"后停止工作,并且你正在使用jQuery,你应该尝试添加
$(document).ready(function() {
});
以包装您的"日期选择器"代码。