Сделать элемент управления SqlDataSource невидимым во время разработки - PullRequest
0 голосов
/ 26 июля 2011

У меня есть несколько пользовательских элементов управления, которые содержат раскрывающийся список, различные элементы проверки и элемент управления источником данных SQL. Я хочу знать, возможно ли сделать элемент управления источником данных невидимым во время разработки.

Когда я использую эти элементы управления для создания различных форм, элементы управления источниками данных отображаются в представлении проекта и занимают место, что раздражает.

<asp:DropDownList ID="ddlAccounts" runat="server" DataSourceID="dsAccounts" 
    DataTextField="name" DataValueField="accountId" 
    AppendDataBoundItems="True">
    <asp:ListItem Value="NOT SET">- Select an account -</asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="rfvAccounts" runat="server" 
    ControlToValidate="ddlAccounts" CssClass="ValidationError" Display="Dynamic" 
    ErrorMessage="!" InitialValue="NOT SET" ToolTip="You must select an account."></asp:RequiredFieldValidator>
<asp:SqlDataSource ID="dsAccounts" runat="server" 
    ConnectionString="<%$ ConnectionStrings:MySqlConnectionString %>" 
    ProviderName="MySql.Data.MySqlClient" 
    SelectCommandType="StoredProcedure"
    SelectCommand="AccountSelector_Select">
</asp:SqlDataSource>

Ответы [ 3 ]

3 голосов
/ 12 октября 2012

Я использовал этот подход еще больше элементов управления в span:

<span style="display: none;" id="obsPopUp" runat="server"> 
    <asp:SqlDataSource ID="MySqlDataSource" runat="server"  ...> 
    </asp:SqlDataSource> 
</span>

А в событии Load изменить свойства span:

Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
    obsPopUp.Attributes("style") = "display: inherits;"
End Sub

Работает отлично !!!

2 голосов
/ 26 июля 2011

ну, вы можете добавить его программно через код, и тогда вы не увидите его в конструкторе.

SqlDataSource s = new SqlDataSource();
s.ID = "mySqlSourceControl";
Page.Controls.Add(s); 

s.ConnectionString = ConfigurationManager.ConnectionStrings["MyDatabase"].ConnectionString;
s.SelectCommand = "AccountSelector_Select";
s.SelectCommandType = "StoredProcedure";

s.Select(DataSourceSelectArguments.Empty);   
0 голосов
/ 20 января 2012

Если вы все еще хотите воспользоваться инструментами дизайнера, поместите его на экран: ни один интервал не работает хорошо:

<span style="display: none;">
    <asp:SqlDataSource ID="MySqlDataSource" runat="server" 
      ...>
    </asp:SqlDataSource>
</span>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...