을 만드는 자신의 테이블과 CommandArgument 버튼 ASP.NET MVC
-
08-06-2019 - |
문제
나를 구현하기 위해 노력하고 무언가 이것을 좋아한다:
<div>
<table>
<thead>
<tr>
<td>Port name</td>
<td>Current port version</td>
<td>New port version</td>
<td>Update</td>
</tr>
</thead>
<% foreach (var ip in Ports) { %>
<tr>
<td>
<%= ip.PortName %>
</td>
<td>
<%= ip.CurrentVersion %>
</td>
<td>
<%= ip.NewVersion %>
</td>
<td>
<asp:Button ID="btnUpdate" runat="server" Text="Update" CommandArgument="<% ip.PortName %>" />
</td>
</tr>
<% } %>
</table>
</div>
단추의 CommandArgument
숙박 시설은 곳 내가 코드에 대해 불평하지 않를 해결할 수 있는 기호 ip
.어떤 방법이 무엇을 하려고 해요 할까요?
해결책
당신이 사용하고 싶지 않은 Webforms 버 ASP.NET MVC.MVC 은 완전히 다른 방식의 작업,그리고 당신은 더 이상 WebForms 추상화입니다.
당신이 2 할 수 있는 다양한 옵션 중 하나를 교체 asp:버튼으로 태그 입력 또는 표준을 사용하는 하이퍼링크 대신 합니다.당신이 사용하는 경우 입력 옵션은 다음해야 합니다 wrap 양식에서 요소입니다.의 양식을 행해야 한 지점을 컨트롤러 작업입니다.
다른 팁
할 수 없습니다 사용하여 웹 양식 컨트롤 ASP.NET MVC 에서 간단한 방법으로하기 때문에 그들은 그에 의존하는 것은 제거에서 MVC.대신 당신이 추가 버튼을 두 가지 방법을 모두 사용 HtmlHelper
에 ViewPage
:
단추를 추가할 수 있습 양식에서는 쉽게 handeled 컨트롤러에 있으면 양식에 대한 각각의 단 button:
<% using(Html.BeginForm("Update", "Ip", new {portName = ip.PortName} )) { %>
....
<input name="action" type="submit" value="Update">
<% } %>
BeginForm()는 기본적으로 동 컨트롤러와 액션으로 보서 만들었습니다.다른 방법으로 링크를 추가하려면 대신은 더 많은 피해의 예을 반복합니다.예를 들어 당신은 말할 수 있습 IpController
<%= Html.ActionLink("Update IP", "Update", "Ip",
new {
portName = ip.PortName
})
%>
링크에 갈 것입 업데이트 작업에 IpController 된 포트 번호로 매개 변수입니다.두 경우 모두에서 당신은 작업에서 IpController:
public ActionResult Update(string portName) {
// ...
}
이게 도움이 되었으면 좋겠습니다.
나는 당신을 생각해야 합 블록 형태로그 ans runat=서버입니다.
FWIW,
이 텍스트는 누락 등호:
CommandArgument="<%ip.포트 번호는%>"
야
CommandArgument="<%=ip.포트 번호는%>"