Использование одной и той же формы на нескольких страницах? - PullRequest
0 голосов
/ 18 марта 2011

Я пишу заявку, и у меня есть пользовательская форма, которая будет одинаковой для пользователей и администраторов.на разных страницах.

Я хочу создать форму только один раз, а затем иметь возможность поместить ее в два разных файла aspx.

Я попробовал ее с «контролем», но потомстановится действительно сложно пытаться получить доступ к полям в элементе управления со страницы aspx для выполнения вычислений и т. д.

Есть ли другой способ сделать это?создать форму в одном месте, иметь возможность добавить ее на любую страницу aspx и иметь легкий доступ к ее элементам управления?

Ответы [ 3 ]

3 голосов
/ 18 марта 2011

Это совсем не сложно. Вы можете предоставить метод доступа или сделать публичный элемент управления.

Пример: страница, которая отображает содержимое TextBox внутри элемента управления при нажатии кнопки.

Контроль

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControl1.ascx.cs" Inherits="WebApplication1.WebUserControl1" %>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

Страница

<form runat="server">
    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
    <Test:Control ID="ctlTest" runat="server" />
    <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
</form> 

Код (если TextBox1 общедоступен)

protected void Button1_Click(object sender, EventArgs e)
{
    Label1.Text = ctlTest.TextBox1.Text;
}

Или, возможно, в коде элемента управления

public string GetText()
{
    return TextBox1.Text;
}

А в кодовой странице aspx

protected void Button1_Click(object sender, EventArgs e)
{
    Label1.Text = ctlTest.GetText();
}

Что в этом такого сложного?!

0 голосов
/ 18 марта 2011

вы создали элемент управления и не используете метод findControl () для доступа к элементу управления внутри вашего UserControl, что не является возможным или правильным решением.

Лучше использовать свойства. Определите свойства, чтобы ваш элемент управления можно было обобщать, и вы можете использовать его на нескольких страницах.

0 голосов
/ 18 марта 2011

Вы должны создать MasterPage:

http://msdn.microsoft.com/en-us/library/wtxbf3hh.aspx

, чтобы вы могли обмениваться общими элементами управления между страницами. Главные страницы тоже могут быть вложенными. Вы можете получить доступ к элементам управления на главной странице с дочерней страницы через Master.FindControl ("abc")

РЕДАКТИРОВАТЬ: кажется, что вы хотите повторно использовать обычную функциональность, тогда вы можете использовать пользовательский контроль, как в этом примере:

http://msdn.microsoft.com/en-us/library/3457w616.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...