我自己写了一个日期控件因是用的是html中的文本控件所以在后台取值用的是
Request.Params["S_year"]现在都做好了,可问题出来了
1.我把此控件放到相应的页面中,是runat=server 为什么在codebehind 还是没有此控件的定义呢
2.为什么我在控件中增加了属性,在属性框中不显示出来呢,就只有,id,EnableViewState和Visible
3.只放一个控件还正常,可是放两个,问题又来了,用Request.Params["S_year"]明明只取一个控件的值却取了两个控件值如( '2005,2005' )它都取出来了,我该怎么办呢???????
Request.Params["S_year"]现在都做好了,可问题出来了
1.我把此控件放到相应的页面中,是runat=server 为什么在codebehind 还是没有此控件的定义呢
2.为什么我在控件中增加了属性,在属性框中不显示出来呢,就只有,id,EnableViewState和Visible
3.只放一个控件还正常,可是放两个,问题又来了,用Request.Params["S_year"]明明只取一个控件的值却取了两个控件值如( '2005,2005' )它都取出来了,我该怎么办呢???????
页面<%@ Register TagPrefix="dtp" TagName="DateTimePicker" Src="../Cls_Webself/DateTimePicker.ascx" %>
<%@ Page language="c#" Codebehind="Wdd.aspx.cs" AutoEventWireup="false" Inherits="erp_web.lh_eg.Wdd" %>
.......
<form id="Wdd" method="post" runat="server">
<dtp:datetimepicker id="DT" style="Z-INDEX: 105; LEFT: 21px; POSITION: absolute; TOP: 95px" Width="152px" runat="server"></dtp:datetimepicker>
......
<dtp:DateTimePicker id="Dt1" runat="server"></dtp:DateTimePicker>......
---------------------
.cs.......
Cls_Webself.DateTimePicker d = (Cls_Webself.DateTimePicker)FindControl("DT1");
if(d!=null)
{
Tex.Text = d.set_date;
}
页面
<%@ Control Language="c#" AutoEventWireup="false" Codebehind="DateTimePicker.ascx.cs" Inherits="Cls_Webself.DateTimePicker" TargetSchema="http://schemas.microsoft.com/intellisense/ie5" %>...........
<FONT face="宋体">
<INPUT id="TB_cls_year" style="Z-INDEX: 105; LEFT: 1px; WIDTH: 33px; POSITION: absolute; TOP: 0px; HEIGHT: 22px" type="text" maxLength="4" size="1" name="TB_cls_year" value="<% = Str_cls_year %>" onfocus ="this.select();">>
</FONT>
<-还有服务端的日历控件->
---------------
.cs
...........
public string Str_cls_year=System.DateTime.Today.Year.ToString();
..................public string set_date
{
get
{
return Request.Params["TB_cls_year"];
}
}
2、增加属性后属性框是应该显示的。
3、如果放多个控件,控件编号会自动增加的。不会出现你的问题。
4、注意最好继承INameContain接口。保证控件名唯一。
所以会出现这种情况