2
데이터 바인딩이있는 gridview가 있습니다. 모든 행은 ItemSource에 따라 생성됩니다. 또한 단추를 포함하는 끝에 열을 추가했습니다. 단추 클릭 이벤트의 매개 변수로 현재 itemSource에서 필드를 바인딩하는 방법?버튼을 클릭하여 매개 변수를 전달하는 방법
<asp:GridView ID="GridView1" runat="server"
AutoGenerateColumns="false"
ItemType="ServiceMonitoring.MyClass"
SelectMethod="GetMyClassItems"
CellPadding="4"
ShowFooter="true">
<Columns>
<asp:BoundField DataField="MyProperty" HeaderText="ID" />
<asp:TemplateField HeaderText="Action">
<ItemTemplate>
<asp:Button runat="server"
CommandArgument='<%= MyClass.MyProperty %>'
CommandName="ThisBtnClick"
OnClick="Unnamed_Click"
Text="retraiter !" />
<%--<button onclick="UpdateMyClassItems" runat="server" value="VALEUR">retraiter !</button>--%>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
코드 숨김
public partial class WebForm1: System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e) { }
public List<MyClass> GetMyClassItems()
{
var a = new MyClass() { MyProperty = 2 };
return new List<MyClass>() { a };
}
protected void Unnamed_Click(object sender, EventArgs e)
{
var arg = (sender as Button).CommandArgument;
string ID = arg.ToString();
}
}
public class MyClass
{
public int MyProperty { get; set; }
}
명령 인수 바인딩이 작동하지 않습니다
웹 양식 :
여기에 코드 샘플입니다. 도와 줄수있으세요 ?
@Aristos이 오류가 있습니다. 메시지 오류 : CS0103 : Le nom 'MyClass'이 (가) 'MyClass'라는 이름으로 존재하지 않습니다. 현재 상황) 제발 도와 주실 수 있습니까? –
영어로 오류주십시오. – naveen
@naveen 'MyClass'이름이 현재 컨텍스트에 없습니다. –