Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 赢得比赛';Web部件生命周期中的t fire_C#_Asp.net - Fatal编程技术网

C# 赢得比赛';Web部件生命周期中的t fire

C# 赢得比赛';Web部件生命周期中的t fire,c#,asp.net,C#,Asp.net,我有一个简单的网页部件。单击“添加”链接,设置2个可见文本框。键入一些文本并单击“保存”按钮,但单击事件不会触发。我正在粘贴代码,希望得到一些建议。我一直在寻找解决方案,但没有找到任何可以继续下去的方法。我知道问题的症结所在,但不知道如何纠正。在页面呈现之前,我需要能够使用处理程序sotimes进行连接和事件处理,并且我尝试覆盖OnPreRender方法,但它并没有在适当的时候工作 我需要解决的另一个小问题是onFocus方法在txtMyLinkName.Focus()中不起作用。谢谢你的帮助里

我有一个简单的网页部件。单击“添加”链接,设置2个可见文本框。键入一些文本并单击“保存”按钮,但单击事件不会触发。我正在粘贴代码,希望得到一些建议。我一直在寻找解决方案,但没有找到任何可以继续下去的方法。我知道问题的症结所在,但不知道如何纠正。在页面呈现之前,我需要能够使用处理程序sotimes进行连接和事件处理,并且我尝试覆盖OnPreRender方法,但它并没有在适当的时候工作

我需要解决的另一个小问题是onFocus方法在txtMyLinkName.Focus()中不起作用。谢谢你的帮助里索

public class MyLinks : WebPart
{
    public static string m_Portal = ConfigurationManager.ConnectionStrings["dbPortal"].ConnectionString;

    Panel pnlMyLinks = new Panel();
    Label lblError = new Label();
    Label lblMyLinkURL = new Label();
    Label lblMyLinkName = new Label();
    TextBox txtMyLinkName = new TextBox();
    TextBox txtMyLinkURL = new TextBox();
    Button btnSaveMyLink = new Button();                    
    LinkButton lbMyLinkAdd = new LinkButton();
    Literal litP1 = new Literal();
    Literal litBR1 = new Literal();

    public cisf_MyLinks()
    {
        this.Title = "MyLinks";
        this.ExportMode = WebPartExportMode.All;
    }

    protected override void CreateChildControls()
    {
        GetLinks();
        base.CreateChildControls();
    }

    //protected override void OnPreRender(EventArgs e)
    //{
    //    btnSaveMyLink.Text = "Save";
    //    btnSaveMyLink.Click += new EventHandler(btnSaveMyLink_Click);
    //    Controls.Add(btnSaveMyLink);
    //    base.OnPreRender(e);
    //}

    protected void GetLinks()
    {
        pnlMyLinks.Controls.Clear();
        int i = 0;            
        lbMyLinkAdd.Text = "Add";
        pnlMyLinks.Controls.Add(lbMyLinkAdd);
        lbMyLinkAdd.Click += new EventHandler(lbMyLinkAdd_Click);
        pnlMyLinks.Controls.Add(new LiteralControl("<br />"));

        IDataReader drMyLinks = Get_MyLinks(Page.Request.ServerVariables["Logon_User"].Split("\\".ToCharArray())[1].ToLower());
        while (drMyLinks.Read())
        {
            HyperLink hlMyLink = new HyperLink();
            LinkButton lbDelMyLink = new LinkButton();
            lbDelMyLink.Text = "(del)";
            lbDelMyLink.ToolTip = "Delete this link";
            lbDelMyLink.CssClass = "verytiny";
            lbDelMyLink.Command += new CommandEventHandler(DelMyLink);
            lbDelMyLink.CommandName = drMyLinks["id"].ToString();
            pnlMyLinks.Controls.Add(lbDelMyLink);
            pnlMyLinks.Controls.Add(new LiteralControl("&nbsp;&nbsp;"));


            hlMyLink.ID = "hl" + drMyLinks["ID"].ToString();
            hlMyLink.Text = drMyLinks["Title"].ToString();
            hlMyLink.NavigateUrl = drMyLinks["url"].ToString();
            hlMyLink.Target = "_blank";
            hlMyLink.ToolTip = drMyLinks["Title"].ToString();
            pnlMyLinks.Controls.Add(hlMyLink);
            pnlMyLinks.Controls.Add(new LiteralControl("<br />"));

            if (drMyLinks["ID"].ToString() != "") { i += 1; }
        }
        this.Controls.Add(pnlMyLinks);
    }

    protected void lbMyLinkAdd_Click(object sender, EventArgs e)
    {
        lbMyLinkAdd.Visible = false;
        lblMyLinkName.Visible = true;
        txtMyLinkName.Visible = true;

        litBR1.Visible = true;
        lblMyLinkURL.Visible = true;
        txtMyLinkURL.Visible = true;
        btnSaveMyLink.Visible = true;
        litP1.Visible = true;
        (txtMyLinkName - dot focus)
        lblMyLinkName.Text = "Link Name: ";
        lblMyLinkURL.Text = "Link URL: ";

        btnSaveMyLink.Text = "Save";
        btnSaveMyLink.Click += new EventHandler(btnSaveMyLink_Click);

        pnlMyLinks.Controls.Add(new LiteralControl("<table class='mylinksTable' cellpadding='0' cellspacing='0' border='1'><tr valign='top'><td>"));
        pnlMyLinks.Controls.Add(lblMyLinkName); 
        pnlMyLinks.Controls.Add(new LiteralControl("</td><td>"));
        pnlMyLinks.Controls.Add(txtMyLinkName);
        pnlMyLinks.Controls.Add(new LiteralControl("</td></tr><tr valign='top'><td>"));
        pnlMyLinks.Controls.Add(lblMyLinkURL);
        pnlMyLinks.Controls.Add(new LiteralControl("</td><td>"));
        pnlMyLinks.Controls.Add(txtMyLinkURL);
        pnlMyLinks.Controls.Add(new LiteralControl("</td></tr><tr valign='top'><td colspan='2'>"));
        pnlMyLinks.Controls.Add(btnSaveMyLink);
        pnlMyLinks.Controls.Add(new LiteralControl("</td></tr></table>"));

        this.Controls.Add(pnlMyLinks);
    }

    protected void btnSaveMyLink_Click(object sender, EventArgs e)
    {
        string thisURL;

        if ((txtMyLinkName.Text != "") && (txtMyLinkURL.Text != ""))
        {
            if (txtMyLinkURL.Text.StartsWith("http"))
            { thisURL = txtMyLinkURL.Text; }
            else { thisURL = "http://" + txtMyLinkURL.Text; }

            AddMyLink(txtMyLinkName.Text, thisURL, Page.Request.ServerVariables["Logon_User"].Split("\\".ToCharArray())[1].ToLower());
            GetLinks();
            txtMyLinkName.Text = "";
            txtMyLinkURL.Text = "";
            lbMyLinkAdd.Visible = true;                
        }

        lbMyLinkAdd.Visible = true;
        lblMyLinkName.Visible = false;
        txtMyLinkName.Visible = false;
        litBR1.Visible = false;
        lblMyLinkURL.Visible = false;
        txtMyLinkURL.Visible = false;
        btnSaveMyLink.Visible = false;
        litP1.Visible = false;
    }
}
公共类MyLink:WebPart
{
公共静态字符串m_Portal=ConfigurationManager.ConnectionString[“dbPortal”]。ConnectionString;
Panel pnlMyLinks=新面板();
Label lblError=新标签();
Label lblMyLinkURL=新标签();
Label lblMyLinkName=新标签();
TextBox txtMyLinkName=新建TextBox();
TextBox txtMyLinkURL=新建TextBox();
按钮btnSaveMyLink=新建按钮();
LinkButton lbMyLinkAdd=新建LinkButton();
Literal litP1=新的Literal();
Literal litBR1=新的Literal();
公共cisf_MyLink()
{
this.Title=“MyLinks”;
this.ExportMode=WebPartExportMode.All;
}
受保护的覆盖无效CreateChildControls()
{
GetLinks();
base.CreateChildControls();
}
//受保护的覆盖无效OnPreRender(EventArgs e)
//{
//btnSaveMyLink.Text=“保存”;
//btnSaveMyLink.Click+=新建事件处理程序(btnSaveMyLink\u Click);
//控件。添加(btnSaveMyLink);
//基于预渲染(e);
//}
受保护的void GetLinks()
{
pnlMyLinks.Controls.Clear();
int i=0;
lbMyLinkAdd.Text=“添加”;
pnlMyLinks.Controls.Add(lbMyLinkAdd);
lbMyLinkAdd.Click+=neweventhandler(lbMyLinkAdd\u Click);
pnlMyLinks.Controls.Add(新的LiteralControl(“
”); IDataReader drMyLinks=Get_MyLinks(Page.Request.ServerVariables[“Logon\u User”].Split(“\\”.ToCharArray())[1].ToLower()); while(drMyLinks.Read()) { HyperLink hlMyLink=新建超链接(); LinkButton lbDelMyLink=新建LinkButton(); lbDelMyLink.Text=“(del)”; lbDelMyLink.ToolTip=“删除此链接”; lbDelMyLink.CssClass=“verytyny”; lbDelMyLink.Command+=新的CommandEventHandler(DelMyLink); lbDelMyLink.CommandName=drMyLinks[“id”].ToString(); pnlMyLinks.Controls.Add(lbDelMyLink); 添加(新的LiteralControl(“”); hlMyLink.ID=“hl”+drMyLinks[“ID”].ToString(); hlMyLink.Text=drMyLinks[“Title”].ToString(); hlMyLink.NavigateUrl=drMyLinks[“url”].ToString(); hlMyLink.Target=“\u blank”; hlMyLink.ToolTip=drMyLinks[“Title”].ToString(); pnlMyLinks.Controls.Add(hlMyLink); pnlMyLinks.Controls.Add(新的LiteralControl(“
”); if(drMyLinks[“ID”].ToString()!=“”){i+=1;} } this.Controls.Add(pnlMyLinks); } 受保护的void lbMyLinkAdd_单击(对象发送者,事件参数e) { lbMyLinkAdd.Visible=false; lblMyLinkName.Visible=true; txtMyLinkName.Visible=true; litBR1.Visible=true; lblMyLinkURL.Visible=true; txtMyLinkURL.Visible=true; btnSaveMyLink.Visible=true; litP1.Visible=true; (txtMyLinkName-点焦点) lblMyLinkName.Text=“链接名称:”; lblMyLinkURL.Text=“链接URL:”; btnSaveMyLink.Text=“保存”; btnSaveMyLink.Click+=新建事件处理程序(btnSaveMyLink\u Click); 添加(新的LiteralControl(“”); pnlMyLinks.Controls.Add(lblMyLinkName); 添加(新的LiteralControl(“”); pnlMyLinks.Controls.Add(txtMyLinkName); 添加(新的LiteralControl(“”); 添加(lblMyLinkURL); 添加(新的LiteralControl(“”); pnlMyLinks.Controls.Add(txtMyLinkURL); 添加(新的LiteralControl(“”); pnlMyLinks.Controls.Add(btnSaveMyLink); 添加(新的LiteralControl(“”); this.Controls.Add(pnlMyLinks); } 受保护的无效btnSaveMyLink\u单击(对象发送方,事件参数e) { 字符串thisURL; if((txtMyLinkName.Text!=“”)和&(txtMyLinkURL.Text!=“”) { if(txtMyLinkURL.Text.StartsWith(“http”)) {thisURL=txtMyLinkURL.Text;} else{thisURL=“http://”+txtMyLinkURL.Text;} AddMyLink(txtMyLinkName.Text,thisURL,Page.Request.ServerVariables[“Logon\u User”].Split(“\\”.ToCharArray())[1].ToLower()); GetLinks(); txtMyLinkName.Text=“”; txtMyLinkURL.Text=“”; lbMyLinkAdd.Visible=true; } lbMyLinkAdd.Visible=true; lblMyLinkName.Visible=false; txtMyLinkName.Visible=false; litBR1.Visible=false; lblMyLinkURL.Visible=false; txtMyLinkURL.Visible=false; btnSaveMyLink.Visible=false; litP1.Visible=false; } }
如果要在code中创建按钮,则需要在加载
页面中连接按钮,以便触发
单击
事件
Page\u PreRender
太晚了。

除了在已发布的
Load
事件中添加控件外,还应设置ID字段,例如
btnSaveMyLink.ID=“SaveLink”
设置为唯一值。

这是一个.cs文件,没有页面加载。很抱歉错误提示
页面加载
,但是我没有看到您正在创建
Web部件
;不过,请尝试设置一个<代码