2014-04-20 3 views
0

좋아요, 최근에 아주 비슷한 질문을했고 좋은 답변을 받았습니다. 나는 그것을 줄 것이다 그래서 그러나, 나는 아마 정확하게 내 문제를 표현하지 않았다 다른 하나는 여기 :이 <h3>이 클래스 "editable"이 경우가 편집 할 수 있음을 의미하고있다보기에서 컨트롤러로의 값 전달

@using (Html.BeginForm()) 
{ 
<h3 class="editable">@Model.Title</h3> 

<input type="submit" value="submit"> 

} 

내보기

입니다 인라인 편집기.

@Model.Title 

내가 인라인 편집기으로 변경할 수 있도록하고 싶습니다 내 데이터베이스에서의 숙박 시설이다.

이 코드는 동일한 결과를 생성하는 것입니다 :

@using (Html.BeginForm()) 
{ 
    <h3 class="editable">@Model.Title</h3> 

    <input type="text" id="testinput" name="testinput" /> 

    <input type="submit" value="submit"> 
    } 
Controller: 


[HttpPost] 
     public ActionResult FAQ(string testInput) 
     { 


      page.Title = testInput; 

      return View(); 
     } 

Allthough을, 이것은 내가하고 싶은 인라인 편집기를 사용하지 않습니다.

<h3>을 컨트롤러로 보내려면 textbox 인 것처럼 처리하는 방법이 있습니까?

컨트롤러에 직접 @model.title을 보내지 않으려 고합니다. <h3>을 클릭하고 인라인 편집기를 사용하여 변경 한 값을 보내려합니다.

감사합니다.

+0

x- 편집 가능한 이름을 지정하려면 자체 프레임 워크가 필요하거나 기존 프레임 워크가 필요할 수 있습니다. –

답변

1

양식을 제출할 때 컨트롤러는 올바른 양식 유형과 양식을 일치 시키려고합니다. 1 개 또는 2 개의 객체를 되돌리기 위해서는 액션 링크를 사용하십시오. 이것들은 당신이 당신의 제어 방법과 일치하는 이름을 가진 값을 전달할 수 있도록 허용해야한다.

+0

답변 해 주셔서 감사합니다. Im은 mvc에 새로워졌습니다. 시간이 있다면 코드 예제를 게시 하시겠습니까? 또한 컨트롤러가 이름과 일치하려고 시도 할 것이라고 말하면 ... 이것은 내가 h3에 이름을 붙일 수 있다면 일치 할 것입니다. 하지만 그렇게 할 수 있을까요? – user2915962

0

보기 :

@model MvcApplication2.Models.ShopItem 

@{ 
    ViewBag.Title = "Shop"; 
} 

<h2>ShopView</h2> 
@using (Html.BeginForm()) 
{ 
    <h3 class="editable">@Model.Name</h3> 
    @Html.TextBox("Cost",0.00D,null) 
    <input type="submit" title="Submit" /> 
} 

모델 :

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 

namespace MvcApplication2.Models 
{ 
    public class ShopItem 
    { 
     public int? Id { get; set; } 
     public string Name { get; set; } 
     public decimal? Cost { get; set; } 

     public ShopItem() 
     { 
      Id = null; 
      Name = ""; 
      Cost = null; 
     } 
    } 
} 

컨트롤러 :

public ActionResult Shop() 
    { 
     ShopItem item = new ShopItem(); 
     return View(item); 
    } 

    [HttpPost] 
    public ActionResult Shop(decimal Cost) 
    { 
     ShopItem item = new ShopItem(); 
     item.Cost = Cost; 

     return View(item); 
    } 

당신이 HomeController에 넣고 경우를 테스트합니다. 내 입력이 강한 유형이고 내 작업 입력과 일치 함을 볼 수 있습니다.

+0

도와 주셔서 감사합니다. 다른 프로젝트에 코드를 붙여 넣어서 뭔가를 배울 수 있는지 알아 보았습니다. @ html.textbox에 오류가 있습니다. CS0121 : 다음 방법 중 하나라도 모호합니다. 속성 : 'System.Web.Mvc.Html.InputExtensions.TextBox (System.Web.Mvc.HtmlHelper, string, object, string)'및 'System.Web.Mvc.Html.InputExtensions.TextBox (System.Web.Mvc. HtmlHelper, string, object, System.Collections.Generic.IDictionary ) ' – user2915962