기본적으로 사용자 지정 usercontrol이 있는데, 기본적으로 데이터베이스의 값이 미리 채워진 드롭 다운 목록입니다.사용자 지정 DropDownList의 OnChange 특성이 렌더링되지 않습니다.
<asp:DropDownList ID="selResponseTimes" runat="server" SkinID="filterSkin">
</asp:DropDownList>
코드 뒤에 :
public partial class Response_Times_Drop_Down : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataTable objDataTable = DAL.ExecuteDataTable("sp_cl_Response_Times_Get", null);
selResponseTimes.DataSource = objDataTable;
selResponseTimes.DataTextField = "TM_Code";
selResponseTimes.DataValueField = "TM_Code";
selResponseTimes.DataBind();
}
}
public string SelectedValue
{
get
{
return selResponseTimes.SelectedValue;
}
set
{
selResponseTimes.SelectedValue = value;
}
}
}
컨트롤은 다음과 같이 내 페이지에 추가하고, 잘 작동된다
<asp:ResponseTimesDropDown runat="server" ID="selResponse" />
내가 표준 컨트롤에 속성으로 클라이언트 측 이벤트를 추가 해요 다음을 사용하여 Page_Load
에 입력하십시오 :
txtCallRelatedCall.Attributes.Add("onblur", "CheckRelatedCall()");
그러나 사용자 지정 컨트롤로이 작업을 시도하면 추가되지 않습니다.
selResponse.Attributes.Add("onchange", "CalculateResponseTime()");
그러나 코드를 디버깅하는 경우 속성이 컬렉션에 추가되고 있으며 페이지에 출력되지 않는 것처럼 보입니다. 왜 이런거야?
javacript 및 html 부분을 표시 할 수 있습니까? 또한 "CheckRelatedCall(); false;를 반환하도록 설정하십시오." 및 "CalculateResponseTime(); false를 반환합니다." 만약에 작동하는지보기 위하여. – Aristos
내 컨트롤에 onchange 특성을 성공적으로 추가 할 수 없기 때문에 이것은 부적절합니다. 자바 스크립트를 호출하지 않습니다. – fourdam
내 가정은, 사용자 정의 컨트롤이 아닌'Page_Load' 이벤트의 표준 컨트롤에 특성을 추가 할 수 있기 때문에 컨트롤이 이미 렌더링되어 있으므로 이전 단계에서 특성을 추가해야하기 때문입니다. – fourdam