我有一個UserControl包含一個下拉列表和一個textbox.This usercontrol我在我的web應用程序內使用aspx頁面。 所以我有問題,如果我把一些文本放在usercontrol裏面的文本框內,那麼應該在運行時啓用下拉列表的requiredfieldvalidator,否則它應該被禁用。關於aspx頁面內用戶控件的使用
任何幫助將是非常可觀.....
我有一個UserControl包含一個下拉列表和一個textbox.This usercontrol我在我的web應用程序內使用aspx頁面。 所以我有問題,如果我把一些文本放在usercontrol裏面的文本框內,那麼應該在運行時啓用下拉列表的requiredfieldvalidator,否則它應該被禁用。關於aspx頁面內用戶控件的使用
任何幫助將是非常可觀.....
集CausesValidation屬性設置爲false,那麼驗證將不會被下拉列表開火。
既然你希望RequiredFieldValidator
只有當用戶輸入文字到TextBox
我推薦使用CustomValidator
來代替。
void ServerValidation (object source, ServerValidateEventArgs args)
{
args.IsValid = TextBox1.Text.Length == 0 || DropDownList1.SelectedIndex != -1;
}
它可能使用一個CustomValidator
控制而不設置ControlToValidate
屬性。
一種可能clientvalidation功能:
<script language="javascript">
<!--
function ClientValidate(source, arguments)
{
var txt = document.getElementById('<%= TextBox1.ClientID %>');
var ddl = document.getElementById('<%= DropDownList1.ClientID %>');
if (txt.length == 0)
arguments.IsValid = true;
else
arguments.IsValid = ddl.selectedIndex >= 0;
}
// -->
</script>
你必須通過ClientValidationFunction
財產登記它的驗證:
<asp:CustomValidator Id="CustomValidator1" runat="server"
ClientValidationFunction="ClientValidate"
OnServerValidate="ServerValidation">
</asp:CustomValidator>
您應該顯示'UserControl'的ASCX標記。你爲什麼認爲'UserControl'負責解決這個問題,因爲控件+ Validator都在其中? –
我給只有一個下拉和一個文本框內的usercontrol.and添加requiredfieldvalidator爲下拉列表默認 – Passenger
禁用顯示您的代碼。 –