2017-04-06 1 views
-1

이 내 컨트롤러보기라디오 버튼을 사용하여 텍스트 상자의 값을 어떻게 설정할 수 있습니까?

public ActionResult rb() 
    { 
     subject ts = new subject(); 
     ts.subjectlist = db.tbSubjs.ToList(); 
     ts.selectsubj = ""; 
     return View(ts); 
    } 
    [HttpPost] 
    public ActionResult rb(subject sj, FormCollection frm) 
    { 
     if (ModelState.IsValid) 
     { 
      var selectsubj = sj.selectsubj; 
      string getcode = frm["subj"]; 
      ViewBag.ssss = getcode; 
     } 
     return View("Index"); 
    } 

이며,이 내 클래스 여기

public class subject 
{ 
    public List<tbSubj> subjectlist { get; set; } 
    public string selectsubj { get; set; } 
} 

내 라디오 버튼

<div style="text-align: left"> 
@using (Html.BeginForm("rb", "Home")) 
{ 
<div>------</div> 
foreach (var ts in Model.subjectlist) 
{ 
<div> 
    @Html.Label(ts.SubjCode) 
    @Html.RadioButtonFor(m => m.subjectlist, ts.SubjCode) 
</div> 
} 

foreach (var getsubj in Model.subjectlist) 
{ 
    <div>------------------</div> 
<div> 
    @getsubj.SubjCode 
    @Html.RadioButton("subj", getsubj.SubjCode) 
</div> 
} 
<br /> 
<input id="Submit" type="submit" value="Submit" /> 
} 
</div> 

위한 코드 난에 값을 설정하려는 내 내 라디오 버튼의 값을 가져 와서이보기의 텍스트 상자.

@model ATM.Models.subject 

@{ 
ViewBag.Title = "rb"; 
} 

<h2>rb</h2> 

@Html.TextBox(m => m.selectsubj) 

누군가 나를 도울 수 있다면 기꺼이 도와주세요.

+0

분명히하기 위해 양식을 사용하여 하나의보기에서 다른보기로 텍스트 상자로 이동 하시겠습니까? 아니면이 모든 것이 같은 시각에 있습니까? – sleeyuen

+0

나는 다른보기 sir –

+0

좋아, 그럼 당신은보기 사이에 그 값을 전달하는'ViewBag.ssss'를 사용하는 의미입니까? 당신이 그 아이디어에 결혼하지 않았다면, 당신은 단순히 두 번째보기가 기반으로하는'ATM.Models.subject' 모델을 통해 그것을 전달할 수 있습니다. 어느 쪽이든, 이것이 당신이하려는 일이라면 적절한 대답을 추가 할 수 있습니다. 알려주세요. – sleeyuen

답변

0

액션이 실제로 더 다음과 같다고 가정하면

[HttpPost] 
public ActionResult rb(subject sj, FormCollection frm) 
{ 
    if (ModelState.IsValid) 
    { 
     var selectsubj = sj.selectsubj; 
     string getcode = frm["subj"]; 
     ViewBag.ssss = getcode; 

     return View("view_with_textbox"); 
    } 

    return View("Index"); 
} 

당신은이 작업을 수행 할 수 있습니다 :

[HttpPost] 
public ActionResult rb(subject sj, FormCollection frm) 
{ 
    if (ModelState.IsValid) 
    { 
     var selectsubj = sj.selectsubj; 
     string getcode = frm["subj"]; 

     var model = new ATM.Models.subject() 
     { 
      selectsubj = getcode 
     }; 

     return View("view_with_textbox", model); 
    } 

    return View("Index"); 
} 

함으로써 모델을 통해의 값을 전달합니다.

+0

한 번 더 질문드립니다. 보기에 텍스트 상자에 넣을 수 있습니까? 미안 해요 난 mvc에 익숙하지 않은 –

+0

나는 당신이 아직 그것을 시도하지 않은 것 같아요,하지만 값을 가진 모델을 전달하고 그 모델을 상단에'@ 모델'로 선언보기에서 사용하여, '@Html.EditorFor (m => m.selectsubj)'와 같이 모델 속성을 사용하는 모든 입력 값에 자동으로 값을 표시합니다. – sleeyuen

관련 문제