我的視圖中有一個隱藏欄位,我正在嘗試在 validateForm() JavaScript 函式中為其添加一個值。我看到輸出視窗上的值正在改變。但是,作為引數傳遞給控制器??的模型將其接收為 Null。
這是我嘗試過的代碼
.cshtml:
@using (Html.BeginForm("ViewAch", "AchNew", FormMethod.Post, new { enctype = "multipart/form-data", id = "CreateACHForm", onsubmit = "validateForm()" }))
{
<label>First Name <span>*</span></label>
@Html.TextBoxFor(m => m.FirstName, new { maxlength = 19, @class = "input-required form-control form-control-sm", id = "fname" })
@Html.ValidationMessageFor(m => m.FirstName, "")
<label>First Name <span>*</span></label>
@Html.TextBoxFor(m => m.FirstName, new { maxlength = 19, @class = "input-required form-control form-control-sm", id = "fname" })
@Html.ValidationMessageFor(m => m.FirstName, "")
@Html.AntiForgeryToken();
@Html.HiddenFor(m => m.TokenizedPayloadNonce);
<input type="submit" value="SignUp" class="btn btn-primary btn-lg btn-block" />
}
JavaScript:
function validateForm() {
var NewToken = callExternalSytem(); // retrieving value from the external system
document.getElementById('TokenizedPayloadNonce').value = NewToken;
}
這是我從控制器讀取它的方式:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult ViewAch(AchProfile achProfile)
{
var token = achProfile.TokenizedPayloadNonce;
}
我可以訪問其他欄位值,但不能訪問我在 validateForm() 中更新的值。有什么我想念的嗎?
uj5u.com熱心網友回復:
關于您的情況,您可以使用此方法將更新的值發送到您的Controller:
我們首先更改SignUpfromsubmit的型別button并將其系結validateForm到它的onclick事件:
@using (Html.BeginForm("ViewAch", "AchNew", FormMethod.Post, new { enctype = "multipart/form-data", id = "CreateACHForm"}))
{
<label>First Name <span>*</span></label>
@Html.TextBoxFor(m => m.FirstName, new { maxlength = 19, @class = "input-required form-control form-control-sm", id = "fname" })
@Html.ValidationMessageFor(m => m.FirstName, "")
<label>First Name <span>*</span></label>
@Html.TextBoxFor(m => m.FirstName, new { maxlength = 19, @class = "input-required form-control form-control-sm", id = "fname" })
@Html.ValidationMessageFor(m => m.FirstName, "")
@Html.AntiForgeryToken();
<input type="hidden" id="myTokenizedPayloadNonce" name="TokenizedPayloadNonce"/>
<input type="button" value="SignUp" class="btn btn-primary btn-lg btn-block" onclick="validateForm()" />
}
系結完成后,我們使用Javascript將您的表單提交到Controller. 這會將您需要的更新值系結到您的Model:
function validateForm() {
var NewToken = callExternalSytem(); // retrieving value from the external system
document.getElementById('myTokenizedPayloadNonce').value = NewToken;
document.getElementById('CreateACHForm').submit();
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/419439.html
標籤:
