【问题标题】:Keep input data after posting发布后保留输入数据
【发布时间】:2014-08-12 16:13:45
【问题描述】:

我正在做的长表格有问题。如果用户填写了表单,但验证无效,它会删除表单中的所有内容,并且不会将数据保留在有效表单中。我将如何使它不会在按下提交时删除数据?

@{
    Layout = "~/Pages/_SiteLayout.cshtml";

    var db = Database.Open("mtarplspd");

    Validation.RequireField("TypeOfIncident", "Type of incident is required.");
    Validation.RequireField("FirstName", "Firstname is required.");
    Validation.RequireField("LastName", "Lastname is required.");
    Validation.RequireField("Rank", "Rank is required.");
    Validation.RequireField("Badge", "Badge is required.");
    Validation.RequireField("SuspectFirstName", "Suspect firstname is required.");
    Validation.RequireField("SuspectLastName", "Suspect lastname is required.");
    Validation.RequireField("SuspectCharges", "Suspect charges is required.");
    Validation.RequireField("Description", "Description of the incident is required.");

    var typeOfIncident = "";
    var firstName = "";
    var lastName = "";
    var rank = "";
    var badge = "";
    var suspectFirstName = "";
    var suspectLastName = "";
    var suspectAddress = "";
    var suspectCharges = "";
    var suspectVehicleModel = "";
    var suspectVehiclePlates = "";
    var suspectVehicleColor = "";
    var officersInvolved = "";
    var description = "";
    var departmentsInvolved = "";
    var firearmDischarged = "";
    var typeOfFirearm = "";
    var roundsFired = "";
    var reason = "";
    var userId = 0;
    var dateTime = "";
    var ErrorMessage = "";

    if (IsPost) {
        typeOfIncident = Request.Form["TypeOfIncident"];
        firstName = Request.Form["FirstName"];
        lastName = Request.Form["LastName"];
        rank = Request.Form["Rank"];
        badge = Request.Form["Badge"];
        suspectFirstName = Request.Form["SuspectFirstName"];
        suspectLastName = Request.Form["SuspectLastName"];
        suspectAddress = Request.Form["SuspectAddress"];
        suspectCharges = Request.Form["SuspectCharges"];
        suspectVehicleModel = Request.Form["SuspectVehicleModel"];
        suspectVehiclePlates = Request.Form["SuspectVehiclePlates"];
        suspectVehicleColor = Request.Form["SuspectVehicleColor"];
        officersInvolved = Request.Form["OfficersInvolved"];
        description = Request.Unvalidated["Description"];
        departmentsInvolved = Request.Form["DepartmentsInvolved"];
        firearmDischarged = Request.Form["FirearmDischarged"];
        typeOfFirearm = Request.Form["TypeOfFirearm"];
        roundsFired = Request.Form["RoundsFired"];
        reason = Request.Form["Reason"];
        userId = WebSecurity.CurrentUserId;
        dateTime = DateTime.Now.ToString("d MMM yyyy h:mm:ss");

        if (ErrorMessage == "" && Validation.IsValid()) {
            var insert = "INSERT INTO Reports (Type, FirstName, LastName, Rank, Badge, SuspectFirstName, SuspectLastName, SuspectAddress, SuspectCharges, SuspectVehicleModel, SuspectVehiclePlates, SuspectVehicleColor, OfficersInvolved, Description, DepartmentsInvolved, FirearmDischarged, TypeOfFirearm, RoundsFired, Reason, UserId, DateTime)" + "VALUES (@0, @1, @2, @3, @4, @5, @6, @7, @8, @9, @10, @11, @12, @13, @14, @15, @16, @17, @18, @19, @20)";
            db.Execute(insert, typeOfIncident, firstName, lastName, rank, badge, suspectFirstName, suspectLastName, suspectAddress, suspectCharges, suspectVehicleModel, suspectVehiclePlates, suspectVehicleColor, officersInvolved, description, departmentsInvolved, firearmDischarged, typeOfFirearm, roundsFired, reason, userId, dateTime);
            Response.Redirect("~/Pages/Reports/Incident/Default");
        }
    }
}

【问题讨论】:

    标签: razor-2 asp.net-webpages webmatrix-2


    【解决方案1】:

    你需要为每个表单控件恢复值,例如:

    <input type="text" name="FirstName" value="@Request.Form["FirstName"]" />
    

    【讨论】:

    • 谢谢你的回答,我稍后再试试,看看能不能解决我的问题:)
    猜你喜欢
    • 1970-01-01
    • 2018-06-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-25
    • 1970-01-01
    • 2010-09-16
    • 2011-11-22
    • 2013-01-04
    相关资源
    最近更新 更多