2011-12-19 17 views
8

मैं उपयोगकर्ता को एक फॉर्म भरने की अनुमति देने के लिए पॉपअप संवाद करने की कोशिश कर रहा हूं। जब वे सबमिट पर क्लिक करते हैं तो मैं फॉर्म जमा करना चाहता हूं। मुझे पता चला कि मोडल पॉपअप कैसे बनाया जाए, लेकिन यह पता नहीं लगाया जा सकता कि फ़ॉर्म को क्लिक करने पर फ़ॉर्म को सबमिट करने के लिए इसे कैसे प्राप्त किया जाए। क्या किसी को भी यह करना आता है?एएसपी.NET एमवीसी 3 jQuery यूआई संवाद फॉर्म

@using (Html.BeginForm()) 
{ 
    <div> 
     <fieldset> 
      <legend>Account Information</legend> 

      <div class="editor-label"> 
       @Html.LabelFor(m => m.UserName) 
      </div> 
      <div class="editor-field"> 
       @Html.TextBoxFor(m => m.UserName) 
       @Html.ValidationMessageFor(m => m.UserName) 
      </div> 

      <div class="editor-label"> 
       @Html.LabelFor(m => m.Password) 
      </div> 
      <div class="editor-field"> 
       @Html.PasswordFor(m => m.Password) 
       @Html.ValidationMessageFor(m => m.Password) 
      </div> 

      <div class="editor-label"> 
       @Html.CheckBoxFor(m => m.RememberMe) 
       @Html.LabelFor(m => m.RememberMe) 
      </div> 

      <p> 
       <input type="submit" value="Log On" /> 
      </p> 
     </fieldset> 
    </div> 
} 

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#dialog-form").dialog({ 
      modal: true, 
      buttons: { 
       "Submit": function() { 
        $(this).dialog("close"); 
       }, 
       Cancel: function() { 
        $(this).dialog("close"); 
       } 
      } 
     }); 
    }); 
</script> 

उत्तर

8

आपको यह सुनिश्चित करने की आवश्यकता है कि आपके पास जमा करने के लिए आपके नियंत्रक में एक वैध POST विधि है। आपका फॉर्म यहां तब तक मान्य दिखता है जब तक आप फ़ॉर्म सबमिट करने के लिए संवाद सबमिट करने की अपेक्षा नहीं कर रहे हैं। यदि ऐसा है तो आपको "आईडी" संवाद के लिए फॉर्म को एक आईडी देना होगा और अपने फ़ंक्शन से सबमिट करना होगा।

<div id="dialog-form"> 
@using (Html.BeginForm("LogOn", "Account", FormMethod.Post, new { id = "LogOnForm" })) { 
    <div> 
     <fieldset> 
      <legend>Account Information</legend> 

      <div class="editor-label"> 
       @Html.LabelFor(m => m.UserName) 
      </div> 
      <div class="editor-field"> 
       @Html.TextBoxFor(m => m.UserName) 
       @Html.ValidationMessageFor(m => m.UserName) 
      </div> 

      <div class="editor-label"> 
       @Html.LabelFor(m => m.Password) 
      </div> 
      <div class="editor-field"> 
       @Html.PasswordFor(m => m.Password) 
       @Html.ValidationMessageFor(m => m.Password) 
      </div> 

      <div class="editor-label"> 
       @Html.CheckBoxFor(m => m.RememberMe) 
       @Html.LabelFor(m => m.RememberMe) 
      </div> 

      <p> 
       <input type="submit" value="Log On" style="display:none;" /> 
      </p> 
     </fieldset> 
    </div> 
} 
</div> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#dialog-form").dialog({ 
      modal: true, 
      buttons: { 
       "Submit": function() { 
        $("#LogOnForm").submit(); 
       }, 
       Cancel: function() { 
        $(this).dialog("close"); 
       } 
      } 
     }); 
    }); 
</script> 
+0

बहुत बढ़िया हाँ काम किया। मुझे लगता है कि मुझे समझ में नहीं आया कि आप एचटीएमएल हेल्पर जेनरेट आईडी बना सकते हैं। मुझे लगता है कि उस विधि का उपयोग करके आप जेनरेट किए जा रहे एचटीएमएल टैग में जो कुछ भी चाहते हैं उसे डंप कर सकते हैं? –

+0

हाँ जब तक यह एक वैध HTML विशेषता है तो आपको ठीक होना चाहिए। – ptfaulkner

संबंधित मुद्दे