模态窗体选择文本控件

模态窗体选择文本控件

经常使用摸态窗体,总是需要重复编写javascript脚本.所以封装了这个控件,这个控件使用的是aspnet2.0的API.所以用在1.1上的需要自己修改代码.

控件代码
<!---->using System;
using System.ComponentModel;
using System.Text;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;

namespace DotnetClubPortal.WebControls
{
    
/**//// <summary>
    
/// 用户选择控件
    
/// </summary>

    [DefaultProperty("Text"), 
    ToolboxData(
"<{0}:SelectObject runat=server></{0}:SelectObject>")]
    
public class SelectObject: ,INamingContainer
    
{
        
protected System.Web.UI.HtmlControls.HtmlInputHidden hiddenObjectId;
        
protected System.Web.UI.WebControls.TextBox txtObjectName;
        
protected System.Web.UI.WebControls.Button button;


        
private HtmlTable uiTable;

        
public SelectObject()
        
{
            txtObjectName 
= new Textbox();
          hiddenObjectId
= new HtmlInputHidden();
        }


        
/**//// <summary>
        
/// ID,ID中间使用","分隔
        
/// </summary>

        [Browsable(false),Category("设置"),Description("取得的对象值,中间使用','分隔"),DefaultValue("")]
        
public string ObjectId
        
{
            
get
            
{
                
return hiddenObjectId.Value;
            }

            
set
            
{
                hiddenObjectId.Value
=value.ToString();
            }

        }


        
/**//// <summary>
        
/// 名称,中间使用","分隔
        
/// </summary>

        [Browsable(false),Category("设置"),Description("对象名称,中间使用','分隔"),DefaultValue("")]
        
public string ObjectName
        
{
            
get
            
{
                
return txtObjectName.Text;
            }

            
set
            
{
                
this.txtObjectName.Text = value.ToString();
            }

        }


        [Category(
"设置"),Description("选择页面路径"),Browsable(true),    NotifyParentProperty(true)]
        
public string PageUrl
        
{
            
get
            
{
                
object obj=ViewState["PageUrl"];
                
return (obj==null)?string.Empty:obj.ToString();
            }

            
set
            
{
                ViewState[
"PageUrl"= value;
            }

        }


        
/**//// <summary>
        
/// 编辑框是否可见
        
/// </summary>

        [Category("设置"),Description("编辑框是否可见"),Browsable(true),DefaultValue(true)]
        
public bool IsVisable
        
{
            
get
            
{
                
object obj=ViewState["Visable"];
                
return (obj==null)?false:bool.Parse(obj.ToString());
            }

            
set
            
{
                ViewState[
"Visable"= value;
            }

        }


        
protected override void Render(HtmlTextWriter output)
        
{
            
base.Render(output);
            Control [] CtrlArray;
            CtrlArray 
= new Control [ 3];
            CtrlArray[
0= this.hiddenObjectId;
            CtrlArray[
1= this.txtObjectName;
            CtrlArray[
2= this.button;
            CreateTabeRow(CtrlArray);
        }


    

        
/**//// <summary>
        
/// 创建行
        
/// </summary>
        
/// <param name="Obj">行中包含的控件</param>

        private void CreateTabeRow(Control [] Obj)
        
{
            HtmlTableRow tr 
= new HtmlTableRow();
            HtmlTableCell td 
= new HtmlTableCell();
            
foreach (Control c in Obj)
            
{
                
if (c != null)
                
{
                    td.Controls.Add(c);
                }

                
            }
            
            tr.Cells.Add(td);
            uiTable.Rows.Add(tr);
        }


        
protected override void OnPreRender(EventArgs e)
        
{
            RegisterClientScriptBlockJavaScript();
            
base.OnPreRender (e);
        }


        
发出客户端脚本 RegisterClientScriptBlockJavaScript()#region 发出客户端脚本 RegisterClientScriptBlockJavaScript()
        
private void RegisterClientScriptBlockJavaScript()

你可能感兴趣的:(JavaScript,c,UI,Web,脚本)