无法在我的 Class ASP.net 中创建按钮
Unable to create a button in my Class ASP.net
所以我想在创建新实例后添加一个 asp 按钮。我无法为按钮指定名称、ID 等。像这样 <asp:Button ID="Button1" runat="server" Text="Button" />
我无法执行此操作,因为每次我尝试添加括号 " " 时它都不起作用。此外,我希望能够为所有日志为创建的每个按钮提供一个单独的 ID。我也无法删除它在左上角创建的输出,为什么会出现两次?我只想让它 ONCE 出现在页面中间!请记住,我为此搜索了很多地方,但没有答案。任何帮助,我将提供下面所有需要的代码。谢谢!
Class:
public class WelcomeText
{
public string Greet;
public string Name;
public DateTime Visited;
public WelcomeText(string greet, string name, DateTime visited)
{
Greet = greet;
Name = name;
Visited = visited;
}
public void greetUser(string msg)
{
HttpContext.Current.Response.Write(msg + Greet + " " + Name + " " + Visited + "<button></button><br/>");
}
}
HTML:
<body>
<form id="form1" runat="server">
<div>
<section>
<%=displayWelcomeText()%>
</section>
</div>
</form>
</body>
后面的代码:
public partial class WebForm1 : System.Web.UI.Page
{
public delegate void greetDel(string msg);
protected void Page_Load(object sender, EventArgs e)
{
// display text
displayWelcomeText();
}
public string displayWelcomeText()
{
string greetString = "";
WelcomeText wT1 = new WelcomeText("Welcome", "Sean", DateTime.Now);
WelcomeText wT2 = new WelcomeText("Hey", "Test", DateTime.Now);
WelcomeText wT3 = new WelcomeText("Hello", "User", DateTime.Now);
greetDel gD1 = new greetDel(wT1.greetUser);
gD1("Log: ");
greetDel gD2 = new greetDel(wT2.greetUser);
gD2("Log: ");
greetDel gD3 = new greetDel(wT3.greetUser);
gD3("Log: ");
return greetString;
}
}
我的代码有问题
哎呀!!这里有很多问题需要解决。
首先,您会看到两次输出,因为您调用了名为 displayWelcomeText() 的方法两次:第一次是在页面加载中,第二次是从 aspx 页面代码本身调用,例如<%=displayWelcomeText()%>.
如果您要检查服务器发送的内容,您会注意到第一组文本是在初始标记之前发送的。然后第二组在
区域内。
将 更改为 a 有什么问题
然后在页面加载方法中...
myPanel.Controls.Add(new Button() { Text=String.Format("{0} {1}, {2:MM/dd/yyyy}", wt.Greet, wt.Name, wt.Visited);
这将完成您所说您想做的事情。这是否会做任何有意义的事情是另一个需要解决的问题。
所以我想在创建新实例后添加一个 asp 按钮。我无法为按钮指定名称、ID 等。像这样 <asp:Button ID="Button1" runat="server" Text="Button" />
我无法执行此操作,因为每次我尝试添加括号 " " 时它都不起作用。此外,我希望能够为所有日志为创建的每个按钮提供一个单独的 ID。我也无法删除它在左上角创建的输出,为什么会出现两次?我只想让它 ONCE 出现在页面中间!请记住,我为此搜索了很多地方,但没有答案。任何帮助,我将提供下面所有需要的代码。谢谢!
Class:
public class WelcomeText
{
public string Greet;
public string Name;
public DateTime Visited;
public WelcomeText(string greet, string name, DateTime visited)
{
Greet = greet;
Name = name;
Visited = visited;
}
public void greetUser(string msg)
{
HttpContext.Current.Response.Write(msg + Greet + " " + Name + " " + Visited + "<button></button><br/>");
}
}
HTML:
<body>
<form id="form1" runat="server">
<div>
<section>
<%=displayWelcomeText()%>
</section>
</div>
</form>
</body>
后面的代码:
public partial class WebForm1 : System.Web.UI.Page
{
public delegate void greetDel(string msg);
protected void Page_Load(object sender, EventArgs e)
{
// display text
displayWelcomeText();
}
public string displayWelcomeText()
{
string greetString = "";
WelcomeText wT1 = new WelcomeText("Welcome", "Sean", DateTime.Now);
WelcomeText wT2 = new WelcomeText("Hey", "Test", DateTime.Now);
WelcomeText wT3 = new WelcomeText("Hello", "User", DateTime.Now);
greetDel gD1 = new greetDel(wT1.greetUser);
gD1("Log: ");
greetDel gD2 = new greetDel(wT2.greetUser);
gD2("Log: ");
greetDel gD3 = new greetDel(wT3.greetUser);
gD3("Log: ");
return greetString;
}
}
我的代码有问题
哎呀!!这里有很多问题需要解决。
首先,您会看到两次输出,因为您调用了名为 displayWelcomeText() 的方法两次:第一次是在页面加载中,第二次是从 aspx 页面代码本身调用,例如<%=displayWelcomeText()%>.
如果您要检查服务器发送的内容,您会注意到第一组文本是在初始标记之前发送的。然后第二组在
将 更改为 a 有什么问题
然后在页面加载方法中...
myPanel.Controls.Add(new Button() { Text=String.Format("{0} {1}, {2:MM/dd/yyyy}", wt.Greet, wt.Name, wt.Visited);
这将完成您所说您想做的事情。这是否会做任何有意义的事情是另一个需要解决的问题。