두 단추가 내 GridView 컨트롤의 열에 있습니다. onclick 이벤트가 서버 컨트롤을 사용하여 작업 (자바 스크립트 호출 내부 #Eval 문에주의)하지 않습니다 - 버튼 :GridView의 단추 텍스트 변경 - (GridView ItemTemplate 단추가 DataBoundLiteralControl로 렌더링 됨)
<asp:TemplateField ItemStyle-CssClass="minPadding">
<ItemTemplate>
<input id="btnDateRange" type="button" value="Date Range" class="JQDatePicker SmallText FloatRight WrapButtonText" onclick="javascript:document.getElementById('hdnImpressionTagID').value = '<%# Eval("ImpressionTagID") %>'"/>
<asp:Button ID="btnShowImpressions" CommandArgument='<%# Eval("ImpressionTagID") %>' CommandName="ShowImpressions" Text="Total Impressions" runat="server" UseSubmitBehavior="false" CssClass="SmallText FloatLeft WrapButtonText" Width="80px" />
</ItemTemplate>
</asp:TemplateField>
이유는 첫 번째 단추는 내가 ASP를 사용하려고하면 때문에 HTML 컨트롤입니다 '서버 태그의 형식이 올바르지 않습니다.'
이 코드의 텍스트를 내 코드에서 변경하고 싶습니다.
나는 올바른 행 인덱스를 찾아 나는 그들이 셀에 알고 (전 C#을 사용하고 있습니다) 5. 내가 ASP를 설정할 수 있습니다: 그래서 같은 버튼 컨트롤의 텍스트를 ...
Button btn = ((Button)gridImpressionTags.Rows[i].Cells[5].FindControl("btnDateRange")); btn.Text = "This Text has changed!";
문제는 다음과 같습니다. & 코드에서 참조 할 때 웹 컨트롤 btnDateRange
이 DataBoundLiteralControl
으로 표시됩니다. 버튼으로 전송할 수 없습니다.
저는 이것을 리터럴 형식으로 변환 할 수도 없습니다. Unable to cast object of type 'System.Web.UI.DataBoundLiteralControl' to type 'System.Web.UI.WebControls.Literal'.
그리고로 캐스팅 DataBoundLiteralControl가 작동하지만 다음 날 텍스트를 변경하는 것을 허용하지 않습니다 System.Web.UI.DataBoundLiteralControl.Text' cannot be assigned to -- it is read only
내 HTML 버튼이 DataBoundLiteralControl로 렌더링하는 이유 사람이 알고 있나요? 나에게 나를 위해 어떤 시도라도 해 줄 사람이 있습니까?
의견을 보내주십시오.
asp에서 OnClick 대신 OnClientClick을 사용할 수 있습니다. Button – codingbiz
그 것이 쉽기를 바랄뿐입니다. 이미 시도했습니다 ... "서버 태그가 잘 형성되어 있지 않습니다." – wotney