I가 다음과 같은 부분 뷰를 렌더링 다음과 같은 조치 방법 : -부분보기
public ActionResult CreateVMNetwork(int vmid)
{
AssignIps vmips = new AssignIps()
{
TechnologyIP = new TechnologyIP() { TechnologyID = vmid},
IsTMSIPUnique = true,
IsTMSMACUnique = true
};
return PartialView("_CreateNetworkInfo",vmips);
}
부분보기는 다음과 같습니다 -
model TMS.ViewModels.AssignIps
@if (this.ViewContext.FormContext == null)
{
this.ViewContext.FormContext = new FormContext();
}
@using (Ajax.BeginForm("CreateVMNetwork", "VirtualMachine", new AjaxOptions
{
InsertionMode = InsertionMode.InsertAfter,
UpdateTargetId = "networktable",
LoadingElementId = "loadingimag",
HttpMethod= "POST",
OnSuccess="submitform"
}))
{
@Html.ValidationSummary(true)
@Html.HiddenFor(model=>model.TechnologyIP.TechnologyID)
@Html.AntiForgeryToken()
<div>
<span class="f">IP Address</span>
@Html.EditorFor(model => model.TechnologyIP.IPAddress)
@Html.ValidationMessageFor(model => model.TechnologyIP.IPAddress)
<input type="CheckBox" name="IsTMSIPUnique" value="true" @(Html.Raw(Model.IsTMSMACUnique ? "checked=\"checked\"" : "")) /> IP Unique. |
<span class="f"> MAC Address</span>
@Html.EditorFor(model => model.TechnologyIP.MACAddress)
@Html.ValidationMessageFor(model => model.TechnologyIP.MACAddress)
<input type="CheckBox" name="IsTMSMACUnique" value="true" @(Html.Raw(Model.IsTMSMACUnique ? "checked=\"checked\"" : "")) /> MAC Unique.
</div>
<input type="submit" value="Save" class="btn btn-primary"/>
}
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
하지만 뷰 모델에 대한 모든 데이터 주석이 부분보기에 발생하지 않습니다는 AssignIps보기 모델 클래스는 다음과 같습니다 -
namespace TMS.ViewModels
{
public class AssignIps
{
public TechnologyIP TechnologyIP { get; set; }
public bool IsTMSIPUnique { get; set; }
public bool IsTMSMACUnique { get; set; }
}
}
,개
그는 TechnologyIP 모델 클래스는 다음과 같습니다 -
namespace TMS.Models
{
[MetadataType(typeof(TechnologyIP_Validation))]
public partial class TechnologyIP
{}}
namespace TMS.Models
{
public class TechnologyIP_Validation
{
[Required]
public string IPAddress { get; set; }
하지만 TechnologyIP 모델의 [필수] 데이터 주석, 부분보기에 발생하지 않습니다 ,, 할 수있는 사람 adovce하세요? 감사합니다. .
그러나 부분보기를 호출하는 기본보기에서 유엔 검증 스크립트가 채워 졌습니까? 이것으로 충분하지 않니? –
부분이 페이지 다음에로드되면 (Ajax를 통해), 아니오. 눈에 잘 띄지 않는 스크립트는 DOM에서 한 번만 실행됩니다. –
하지만 내 부분보기 안에이 @section 스크립트 { @ Scripts.Render ("~/bundles/jqueryval") }을 참조하고 있습니다. 눈에 거슬리지 않는 스크립트는 부분 뷰 DOM에서 작동해야합니다. 내가 맞습니까? –