Diskuze: Uživatelský ovládací prvek.
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 6 zpráv z 6.
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Do zdrojového kódu ovládacího prvku nastav veřejné vlastnosti, ke kterým budeš moct přímo přistupovat i z WebForms takže například takto:
public partial class box : System.Web.UI.UserControl
{
public String text
{
get; set;
}
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = text;
}
}
a kód samotného webového formuláře:
<%@ Page Language="C#" %>
<%@ Register Src="~/box.ascx" TagPrefix="uc1" TagName="box" %>
<!DOCTYPE html>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
box.text = "Ahoj světe";
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<uc1:box runat="server" ID="box" />
</div>
</form>
</body>
</html>
Mám ještě jeden zádrhel,
potřebuji nastavit počáteční hodnoty TextBoxu. Když jsem je podle výše
uvedeného návodu dal do Page_Load, a pak je na webovkách uživatelsky
změnil, tak po provedení akce Buttonem se hodnota změnila zpět na hodnotu
nastavenou v Page_Load.
Počítám, že počáteční hodnoty budu muset dát jinam než do Page_Load.
Poradíte mi někdo kam?
protected void Page_Load(object sender, EventArgs e)
{
TextBox.Text ="100";
}
protected void Button_Click(object sender, EventArgs e)
{
}
Pokud řešení funguje, tak ho prosím označ jako akceptované. Pro další dotazy prosím příště vytvářej nová vlákna.
V tom co jsi napsal není divu, že se nic neděje. Metoda Button_Click nic nedělá. Jinak co já vím, tak akce Něco_Click se zpracovává potom co se zpracovává Page_Load, tudíž by se ta hodnota měla přepsat tou poslední použitou hodnotou..
Doporučuji ti přečíst si něco o životným cyklu stránky, usnadní ti to pak práci..
Zobrazeno 6 zpráv z 6.