基本的に、HtmlPasswordFor(m => EmployeeID) があり、「Go」というボタンがあります。Go テキストボックスをクリックすると、実際にはパスワードが消えたり、フィールドのパスワードがクリアされたりしたくありません。
どうすればいいですか?
BEFORE
AFTER
従業員 ID をリセットしたくありません。**** のパスワードを保持したいのですが、次のポストコールでパスワードが必要になります。
コントローラ
[HttpGet]
public ActionResult MainForm()
{
var model = new VTViewModel();
return View(model);
}
[HttpPost]
public ActionResult MainForm(VTViewModel model, string buttontype)
{
if (ModelState.IsValid)
{
string EmployeeID = (Convert.ToInt64(model.EmployeeBinaryID, 2)).ToString();
if (buttontype == "Go")
{
// GET Fields depending on the serial number.
model.ListFields = logic_model.getFormInfo(model.SerialNumber, EmployeeID);
if (model.ListFields[0].return_num == "0")
{
model.Go = true;
// Set Process
// Set Header Token
// Set Header Title
ViewData["HEADER"] = model.ListFields[0].HeaderName + " | " + model.ListFields[0].TubeType + " | " + model.ListFields[0].ProductLine;
}
else
{
model.DisplayMessage = helper.checkErrors(model.ListFields[0].return_num);
}
}
else if (buttontype == "Submit")
{
model.HeaderToken = model.ListFields[0].HeaderToken;
string header = model.HeaderToken;
string check = "";
string return_num = model.ListFields[0].return_num;
// If the submission worked
//SUBMIT HERE INTO DB then Clear
List<string> values_to_submit = new List<string>(); // Creates a list to store the values to submit
for (int i = 0; i < model.ListFields.Count; i++)
{
// Fills in the hidden values.
if (model.ListFields[i].isHidden)
{
if (model.ListFields[i].Token == "SNT" || model.ListFields[i].Token == "SNC")
{
model.ListFields[i].Value = model.SerialNumber;
}
else if (model.ListFields[i].Token == "USR")
{
model.ListFields[i].Value = EmployeeID;
}
else if (model.ListFields[i].Token == "TMS")
{
model.ListFields[i].Value = "0";
}
}
// If it is a check box do the right conversion.
if (model.ListFields[i].DataType == "DATA-CKBOX")
{
//string convertedValue = helper.trueFalseStringtToIntBool(model.ListFields[i].Value);
string convertedValue = helper.boolToInt(model.ListFields[i].BoolValue).ToString();
model.ListFields[i].Value = convertedValue;
}
values_to_submit.Add(model.ListFields[i].Token + model.ListFields[i].Value);
}
check = logic_model.helperSubmit(values_to_submit, header, 1);
if (check == "Submitted")
{
ModelState.Clear();
VTViewModel clear_model = new VTViewModel(); // Creates an empty model
clear_model.DisplayMessage = "Submitted\n" + model.SerialNumber + "\n" + DateTime.Now;
return View(clear_model);
}
else
{
model.DisplayMessage = check; // Sets the display message to the error.
}
}
else if (buttontype == "Clear")
{
// Clears the screen and model
ModelState.Clear();
VTViewModel clear_model = new VTViewModel(); // Creates an empty model
return View(clear_model);
}
}
return View(model);
}
意見
div>
<fieldset>
<table id="main_table">
<tr>
<td>@Html.LabelFor(m => m.SerialNumber)</td>
<td>@Html.LabelFor(m => m.EmployeeBinaryID)</td>
</tr>
<tr>
<td>@Html.TextBoxFor(m => m.SerialNumber)</td>
<td>@Html.PasswordFor(m => m.EmployeeBinaryID, new { autocomplete = "off" }) </td>
</tr>
<tr><td><input type="submit" value="Go" name="buttontype" class="submit_button" id="btn"/><br /><br /></td></tr>
</table>
</fieldset>
<br />
ありがとう