新建一个web用户控件WebUserControl1.ascx。
在WebUserControl1.ascx新建了一个textbox框 textbox1。
写一个方法
public string getValue()
{
return textbox1.Text;
}
把WebUserControl1.ascx和一个Button拖拽到WebForm1里面
写Button_Click事件
private void Button_Click(object sender, System.EventArgs e)
{
WebUserControl1 wcl = new WebUserControl1();
string s = wcl.getValue();
Response.Write(s);
}
运行是报错。是说return Text1.Value;未将对象引用设置到对象的实例。
大侠们看看要怎么解决啊?
在WebUserControl1.ascx新建了一个textbox框 textbox1。
写一个方法
public string getValue()
{
return textbox1.Text;
}
把WebUserControl1.ascx和一个Button拖拽到WebForm1里面
写Button_Click事件
private void Button_Click(object sender, System.EventArgs e)
{
WebUserControl1 wcl = new WebUserControl1();
string s = wcl.getValue();
Response.Write(s);
}
运行是报错。是说return Text1.Value;未将对象引用设置到对象的实例。
大侠们看看要怎么解决啊?
{
get{
return textbox1.Text;
}
}
这个,不对.private WebUserControl1 WebUserControl11;
private void Button_Click(object sender, System.EventArgs e)
{
string s = WebUserControl11.getValue();
Response.Write(s);
}
运行该文件,然后查看源文件,找到该TEXTBOX,你就会发现它的ID值己改变,在原来的基础上前面加上了所在.ASPX的文件名,你把这个变量名拷贝,然后替换到程序中就可以了.eg:ublic string getValue()
{
return 所在.ASPX文件名_textbox1.Text;
}
如果你还不明白的话,你就是个超级大笨蛋啦~~~~
{
using System;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls; using Hitachi.TripSystem.Logic;
using Hitachi.Common;
/// <summary>
///Logic of UC_Curr
/// </summary>
///
public class UC_Curr : System.Web.UI.UserControl,IUserControl
{
protected System.Web.UI.HtmlControls.HtmlInputHidden hid_Flag;
protected System.Web.UI.WebControls.DropDownList dpl_CurrItem; public event ChangedEventHandler OnSelectedIndexChanged; private void Page_Load(object sender, System.EventArgs e)
{
// Reset Page ,insert usercode
} /// <summary>
/// bind dropdownlist
/// </summary>
public void BindDpl()
{
DataSet dsBind = null;
if(Session["UC_Curr"] == null)
{
string strCompycode = ((StructUserInfo)Session["UserInfo"]).CompCode;
string strLocatcode = ((StructUserInfo)Session["UserInfo"]).LocnCode; ComUserControl ctlDB = new ComUserControl();
dsBind = ctlDB.GetCurrCode(strCompycode,strLocatcode);
this.Session["UC_Curr"] = dsBind;
}
dsBind = (DataSet)this.Session["UC_Curr"];
if(dsBind.Tables[0].Rows.Count == 0)
{
throw new ApplicationException(ComLocalDiff.GetMessageById("",((StructUserInfo)Session["UserInfo"]).LangCode));
}
else
{
dpl_CurrItem.DataSource = dsBind.Tables[0];
dpl_CurrItem.DataTextField = "CURR_CODE";
dpl_CurrItem.DataValueField = "CURR_CODE";
dpl_CurrItem.DataBind();
if(hid_Flag.Value == "1")
{
dpl_CurrItem.Items.Insert(0,"");
}
}
} /// <summary>
/// get select value
/// </summary>
public string GetSelectValue
{
get
{
return dpl_CurrItem.SelectedItem.Value.ToString();
}
} /// <summary>
/// set enable
/// </summary>
public bool Enabled
{
get
{
return dpl_CurrItem.Enabled;
}
set
{
dpl_CurrItem.Enabled = value;
}
} /// <summary>
/// set postback
/// </summary>
public bool AutoPostBack
{
set
{
dpl_CurrItem.AutoPostBack = value;
}
} /// <summary>
/// set select index
/// </summary>
/// <param name="dplValue"></param>
public void SetSelectIndex(string dplValue)
{
this.dpl_CurrItem.SelectedIndex =
this.dpl_CurrItem.Items.IndexOf(this.dpl_CurrItem.Items.FindByValue(dplValue));
} //Insert Null Item
public void InsertNullItem()
{
hid_Flag.Value = "1";
} //DropDownList Enable
public bool DdlEnable
{
get
{
return dpl_CurrItem.Enabled;
}
set
{
dpl_CurrItem.Enabled = value;
}
} /// <summary>
/// Reset
/// </summary>
public void Reset()
{
dpl_CurrItem.SelectedIndex = 0;
} #region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: The Design must be ASP.NET Web Form
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// It is necessarily to suppot this Design
/// Don't change the values of component in programming
/// </summary>
//Initialize Component
private void InitializeComponent()
{
this.dpl_CurrItem.SelectedIndexChanged += new System.EventHandler(this.dpl_CurrItem_SelectedIndexChanged);
this.Load += new System.EventHandler(this.Page_Load); }
#endregion private void dpl_CurrItem_SelectedIndexChanged(object sender, System.EventArgs e)
{
if(OnSelectedIndexChanged != null)
{
OnSelectedIndexChanged(sender,e);
}
}
}
}
private WebUserControl1 WebUserControl11;
重未对字段WebUserControl11赋值,字段将一直保持默认值null。
另外string a = WebUserControl11.returnText();报错:未将对象引用设置到对象的实例。
再另外,seaonce(雨花中的小皮鞋) ,还是谢谢你
private WebUserControl1 WebUserControl11;
重未对字段WebUserControl11赋值,字段将一直保持默认值null。
另外string a = WebUserControl11.returnText();报错:未将对象引用设置到对象的实例。
再另外,seaonce(雨花中的小皮鞋) ,还是谢谢你====你拖usercontrol进来的时候,不会在code里自动生成此usercontrol类的声明,需要你自己加.明白吗?
private WebUserControl1 WebUserControl11;webusercontrol11是你在页面上webusercontrol的名字/id,也可能就是wcl,是你自己在拖那个usercontrol时命名的.