मैं इसे काम करने में बहुत असफल रहा हूं!एएसपीनेट एमवीसी 3 - अजाक्स पोस्टबैक के साथ रेजर व्यू और आंशिक दृश्य
एक ध्यान में रखते हुए ...
@model Project.Models.Account.ForgotPasswordModel
@{
ViewBag.Title = "Forgot Password";
}
<h2>ForgotPassword</h2>
<span id='@ViewBag.ReplaceID'>
@Html.Partial("_ForgotPasswordUserNameAjax", ViewData.Model)
</span>
मैं इस partialView प्रस्तुत करना ...
@model Project.Models.Account.ForgotPasswordModel
@{
this.Layout = null;
}
@using (Ajax.BeginForm("ForgotPassword", new AjaxOptions() { UpdateTargetId = ViewBag.ReplaceID, InsertionMode = InsertionMode.InsertAfter }))
{
@Html.ValidationSummary(true, "Forgot Password was unsuccessful. Please correct the errors and try again.")
<div id="login" class="box">
<fieldset>
<h2>Account Information</h2>
<div class="inside">
<div class="editor-label">
@Html.LabelFor(m => m.Username)
</div>
<div class="editor-field">
@Html.TextBoxFor(m => m.Username)
<br />
@Html.ValidationMessageFor(m => m.Username)
<br />
</div>
<p>
<input type="submit" value='Submit' />
</p>
</div>
</fieldset>
</div>
}
और यह नियंत्रक कार्रवाई ...
[HttpPost]
public PartialViewResult ForgotPassword(ForgotPasswordModel model)
{
if (String.IsNullOrEmpty(model.Username))
{
ModelState.AddModelError("Username", ForgotPasswordStrings.USER_NAME_REQUIRED);
}
else
{
bool isGood = false;
model.Question = this._security.ValidateUserNameGetSecurityQuestion(model.Username, out isGood);
if (!isGood)
{
ModelState.AddModelError("Username", ForgotPasswordStrings.USER_NAME_INVALID);
}
}
PartialViewResult retVal = null;
if (ModelState.IsValid)
{
retVal = PartialView("ForgotPasswordAnswerAjax", model);
}
else
{
retVal = PartialView("_ForgotPasswordUserNameAjax", model);
}
return retVal;
}
फिर भी, हर बार , दृश्य केवल पार्टियल व्यू देता है, लेआउट में निहित नहीं है। (तो बस मेरा पार्टियलव्यू स्क्रीन पर है। कुछ और नहीं।) मैंने कोशिश की है ew चीजें मैं ऑनलाइन पाया है ... http://www.compiledthoughts.com/2011/01/aspnet-mvc-razor-partial-views-with.html http://stackoverflow.com/questions/4655365/mvc3-submit-ajax-form
लेकिन कुछ भी नहीं इस समस्या का समाधान हो गया है। मैंने InsertionMode को बिना किसी बदलाव के सभी मानों में बदल दिया है। मैंने @ Html.Partial को कोड कोड में @ { एचटीएमएल। रेंडरपार्टियल ("_ भूलपैसवर्ड यूज़रनामएजेक्स", व्यूडाटा.मोडेल) बदल दिया है; }।
कि काम नहीं करता है ...
मैं विचारों (और धैर्य) से बाहर चल रहा हूँ!
कृपया मदद करें!
, मैं इस परियोजना उस्तरा करने के लिए अधिक बार देखा बदलने के अलावा MVC3 के लिए एक MVC2 आवेदन से परिवर्तित कर रहा हूँ:
आप निम्नलिखित के लिए अपने नियंत्रक कार्रवाई बदल जाते हैं। एमवीसी 3 पर स्विच करने से पहले ये पूरी तरह ठीक काम करते थे। मैं नियंत्रक कोड को बदलने की उम्मीद नहीं कर रहा था (अंडरस्कोर के साथ विचारों के नए नामकरण को छोड़कर)। :( – DavidAndroidDev