2017-03-10 6 views
6

मेरे पास मेरे दृश्य में EditorFor है। की तरह इससंपादक से पास मूल्य

@Html.EditorFor(model => model.First().Link, 
    new { htmlAttributes = new { @class = "form-control", placeholder = "Email", id= "start" } }) 

इसके अलावा, मैं नियंत्रक में कार्रवाई है कि डेटाबेस से तालिका में सभी शून्य खोजने के लिए और कुछ मान के साथ यह अद्यतन करते हैं, यहाँ मैं बटन अद्यतन को जाता है कि नल कोड

public ActionResult Update(string start="lol") 
{ 
    ApplicationDbContext context = new ApplicationDbContext(); 

    IEnumerable<InvitationMails> customers = context.InvitationMails 
      .Where(c => c.Link == null) 
      .AsEnumerable() 
      .Select(c => { 
       c.Link = start; 
       return c; 
      }); 
    foreach (InvitationMails customer in customers) 
    { 
     // Set that row is changed 
     context.Entry(customer).State = EntityState.Modified; 
    } 
    context.SaveChanges(); 
    return RedirectToAction("Index"); 
} 

है सूचकांक देखें में एक्शन और यहाँ यह लांच यहाँ कोड

<ul class="btn btn-default" style="width: 150px; list-style-type: none; font-size: 16px; margin-left: 20px"> 
       <li style="color: white">@Html.ActionLink("Добавить почту", "Update", "InvitationMails", null, new { @style = "color:white" })</li> 
      </ul> 

है लेकिन स्थिर मूल्य के साथ अद्यतन है, और मैं देखने से मूल्य प्राप्त करने के लिए चाहते हैं। मुझे अपना कोड लिखने की आवश्यकता है?

+1

आपके पास एक मॉडल क्यों है जो एक संग्रह है और आपके मॉडल से संबंधित किसी चीज़ से जुड़ने की कोशिश कर रहा है। यह स्पष्ट नहीं है कि आप क्या हासिल करने की कोशिश कर रहे हैं। अपने पैरामीटर से जुड़ने के लिए, आपके इनपुट को 'name =" start "की आवश्यकता है। चूंकि आप किसी भी चीज़ से बाध्यकारी नहीं हैं, बस इनपुट मैन्युअल रूप से –

+1

बनाएं और फिर आपने एक एक्शन लिंक दिखाया है जो आपकी विधि में एक GET बना रहा है, लेकिन यह आपके इनपुट के मान को पास नहीं करता है। –

उत्तर

1

आपको मूल रूप से input की name विशेषता सेट करनी चाहिए।

यदि आप एमवीसी 4 का उपयोग करते हैं तो आपके पास इस मामले के लिए EditorFor का विशाल अधिभार है।

आप इस तरह इसका इस्तेमाल कर सकते हैं:

@Html.EditorFor(model => model.First().Link, 
    null, 
    "start", //That will set id and name attributes to start 
    new { @class = "form-control", placeholder = "Email" }) 

ध्यान दें कि आप id="start" और आवश्यकता नहीं है।

अपने अद्यतन करने के बाद:

आप मूल रूप से 2 विकल्प हैं।

1s विकल्प - form का उपयोग करें:

@using (Html.BeginForm("Update", "InvitationMails", FormMethod.Post)) //maby you need GET 
{ 
    @Html.EditorFor(model => model.First().Link, 
     null, 
     "start", //That will set id and name attributes to start 
     new { @class = "form-control", placeholder = "Email" }) 

     <ul class="btn btn-default" style="width: 150px; list-style-type: none; font-size: 16px; margin-left: 20px"> 
      <li style="color: white"> 
       <button type="submit" style="color:white">Добавить почту</button> 
      </li> 
     </ul> 
} 

2 विकल्प - कार्रवाई लिंक क्लिक पर उपयोग js।

+0

अपना कोड आज़माएं। काम नहीं करता अब मैं अपना प्रश्न अपडेट करूँगा, शायद मैं इसे स्पष्ट रूप से –

+0

@ ई.एस. नहीं लिखता हूं, जहां आपके पास अपना 'स्टार्ट' मान है जिसे आप नियंत्रक को पास करना चाहते हैं? –

+0

मुझे संपादक से पाठ लेने की आवश्यकता है और उसे अपडेट परिणाम –

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