2012-06-10 11 views
16

मैंने Html.BeginForm के साथ एक्शन संपादित किया है। मैं HTML गुण कैसे जोड़ सकता हूं?एचटीएमएल। एचटीएमएल विशेषताओं के साथ बीजिनफॉर्म एएसपीनेट एमवीसी 4

मैं सिर्फ एक ही रास्ता पता:

@using (Html.BeginForm("Edit", "Clients", FormMethod.Post, new { @class="example"})) { 

} 

लेकिन मैं वर्तमान आईडी पारित नहीं हो सकता है अगर मैं इस विधि का उपयोग

यह एचटीएमएल संशोधित कार्रवाई यूआरएल के बिना फार्म विशेषताएं जोड़ने पर संभव है?

+0

आप दृढ़ता से उपयोग कर रहे हैं टाइप किया गया दृश्य –

+0

हां ........................... –

+1

क्या है वर्तमान आईडी और आप इसे क्यों पास नहीं कर सकते? – gdoron

उत्तर

32

ओवरराइड आप की जरूरत है:

@using(Html.BeginForm("Edit", "Clients", new { Id=Model.Id}, 
         FormMethod.Post, new { @class = "example" })) 
{ 
} 
  • रूट की तरह "आईडी" मूल्यों तीसरे पैरामीटर के रूप में पारित कर रहे हैं।
  • "वर्ग" जैसे HTML गुण पांचवें पैरामीटर के रूप में पारित किए जाते हैं।

MSDN दस्तावेज़ देखें।

+1

और निश्चित रूप से आप 5 वीं पैरामीटर ऑब्जेक्ट में '@ id =" blah "भी पास कर सकते हैं, जिसमें rendered form टैग की HTML आईडी सेट करने का पूरी तरह से अलग प्रभाव होगा। – CrazyPyro

+0

यदि आप वर्तमान नियंत्रक की उसी क्रिया (पोस्ट विधि) पर पोस्ट करना चाहते हैं तो पहले दो पैरामीटर शून्य हो सकते हैं जैसे: '@using (HTML.BeginForm (शून्य, शून्य, नया {आईडी = मॉडल.आईडी}, FormMethod.Post , नया {@class = "उदाहरण"})) ' –

2

ControllerA से एक ActionLink के माध्यम से कॉलिंग

@using (Html.BeginForm("Create", 
    "StudentPChoice", 
    new { StudentPChoiceId = Model.StudentPChoiceId }, 
    FormMethod.Post)) 
{ 

} 

या

@using (Html.BeginForm("Create", 
    "ControllerB", 
    new { ControllerBId = Model.ControllerAId }, 
    FormMethod.Post)) 
{ 

} 
0

कार्रवाई और नियंत्रक पैरामीटर भी डिफ़ॉल्ट कार्रवाई का उपयोग करने के अशक्त हो सकता है:

Html.BeginForm(null, null, FormMethod.Post, new { id=”formname”, @class="formclass" }) 
संबंधित मुद्दे