Я предполагаю, что вы хотели бы получить частичные обновления и проверку вашего помощника по форме UsrCtlSystemSetup?В этом случае вместо использования помощника Html.BeginForm вместо него можно использовать помощник Ajax.BeginForm .С помощью помощника Ajax.BeginForm вы можете указать элемент DOM (через его идентификатор), который будет обновляться с помощью представления, возвращаемого действием отправки формы, без полной обратной отправки.Вот пример вашего кода с использованием синтаксиса Razor:
@using (Ajax.BeginForm("UsrCtlSystemSetup", "User", null, new AjaxOptions { InsertionMode = InsertionMode.Replace, UpdateTargetId = "resultDiv", HttpMethod = "Post", OnSuccess = "AjaxDone" }, new { @id = "myFormId" }))
{
<div id="resultDiv">
@Html.ValidationSummary(True, "Invalid details supplied.")
<div class="tabDynamicHeight ">
<div class="FormFullRow formLayoutLabel">
<div class="Seperator">
<div class="FormFullRow longInput">
@Html.LabelFor(Function(model) model.WebsiteAddress)
@Html.TextBoxFor(Function(model) model.WebsiteAddress)
@Html.ValidationMessageFor(Function(model) model.WebsiteAddress)
</div>
<small class="helpText FullRow">Your Companies Website Address.</small>
</div>
</div>
<div class="FloatButtonLeft">
<input type="submit" value="Save" class="FloatButtonLeft BlueBtnMedium" />
</div>
</div>
</div>
}
А вот ваша реализация контроллера в C #:
[HttpPost]
public ActionResult UsrCtlSystemSetup(SystemSetupViewModel model)
{
try
{
if (ModelState.IsValid)
{
// Add implementation for when your model state is valid
// I assumed a UsrCtlSystemSetupSuccess View to indicate that the form
// submit was parsed successfully
return PartialView("UsrCtlSystemSetupSuccess", model)
}
else
{
// Add implementation for when your model state is NOT valid
return PartialView("UsrCtlSystemSetup", model);
}
}
catch
{
// Handle errors...
return PartialView("UsrCtlSystemSetup", model);
}
}
При такой установке среда Asp.Net обновится *Содержимое 1009 * с PartialView, возвращаемое действием UsrCtlSystemSetup с использованием ajax.Я полагаю, что это то, чего вы хотите достичь?
В качестве альтернативы, вы можете отказаться от помощников Ajax Asp.Net и просто использовать jQuery для вызова ajax-вызова на сервер, получить ответ и самостоятельно сгенерировать html.на клиенте или сервере.Но поскольку вы уже используете формы и функции проверки Asp.net, фреймворк наверняка будет работать лучше.