据说Web控件是不能被序列化的.
我想将自定义Web服务器控件的一些属性及引用的对象以XML的格式序列化到客户端供脚本使用.就像 Intersoft Solutions 这家公司的Web服务器控件(前缀为ISNet)那样在客户端输出控件的属性值.该怎么做.有达人能给个思路或示例没?
在此先谢谢各们路人!!!!

解决方案 »

  1.   

    比如说我有个网格控件要在客户端用于脚本处理,想将该控件的一些值及其引用的对象的一些值以XML格式发送到客户端.该如何处理?
    如:<WebGrid IsPreviewMode="False" UseDefaultStyle="True" DefaultStyleMode="Elegant" WebDesktopScriptDirectory="/CommonLibrary/WebDesktop/V2_5_2007/" ServerUniqueID="WebGrid1" UseWebResourcesForScript="True" UseWebResourcesForClient="True" xmlInputHiddenUniqueID="WebGrid1$WebGrid1_h" TotalLoadedRows="100" TotalRows="100" CurrentPageIndex="1" TotalPages="18" GBBLabelClass="WG5E-GBBL" RowClass="WG5E-Row">
      <LayoutSettings AllowContextMenu="False" EditOnClick="True" AllowGrouping="Yes" AllowColumnMove="Yes" AllowSelectColumns="Yes" AllowSorting="Yes" PagingMode="ClassicPaging" RowHeaders="No" RowHeaderWidth="20" HideColumnsWhenGrouped="No" RowHighlightType="BackgroundOnly" PagingSize="100" PagingExportMode="ExportAllData" Culture="zh-CN" SelectedRowClass="WebGrid1-SelectedRow" CheckedRowClass="WebGrid1-CheckedRow" LostFocusClass="WG5E-LFR" EditFocusClass="WG5E-EFC" TextBoxClass="WG5E-ET">
        <ClientSideEvents OnRowSelect="ClientEvent_OnRowSelect" OnCellDblClick="ClientEvent_OnCellDblClick" OnBeforeUpdate="OnBeforeUpdate_Cancel" OnAfterResponseProcess="OnAfterResponseProcess" OnAfterInitialize="OnAfterInitialize" />
        <GroupByBox ConnectorLineColor="FFBD69" />
        <FocusCellStyle CssClass="WG5E-FC" BorderColor="" />
        <ImageSettings InProgressImage="wg5_progress_pro.gif" StatusBarSeparatorImage="wg5_sep_pro.gif" />
        <TextSettings Language="UseCustom" UseLanguage="zh-SG">
          <TextItems />
        </TextSettings>
        <StatusBarCommandStyle Normal="WebGrid1-LayoutSettings-StatusBarCommandStyle-Normal" Over="WebGrid1-LayoutSettings-StatusBarCommandStyle-Over" Active="WebGrid1-LayoutSettings-StatusBarCommandStyle-Active" />
        <FreezePaneSettings MaxFrozenColumns="6" SplitterLineColor="Brown" AbsoluteScrolling="True" />
      </LayoutSettings>
      <RootTable Name="Personalworklog" IsRootTable="True" TableLevel="0" Position="0" Caption="Personalworklog" DataMember="Personalworklog" IsUseColumnSet="False" HasMultiPrimaryKey="False">
        <FocusCellStyle BorderColor="" />
        <PreviewRowSettings />
        <ColumnSetSettings />
        <SelfReferencingSettings />
        <ChildTables />
        <Columns>
          <WebGridColumn Name="ck" AllowGrouping="No" AllowSizing="No" AllowSorting="No" Bound="False" EditType="NoEdit" ColumnType="CheckBox" ShowInSelectColumns="No" IsGrouped="False" IsSorted="False" Width="25px" IsRowChecker="True" HasValueList="False" Caption="" />
          <WebGridColumn Name="ApplyOrganizationId" AllowGrouping="No" DataMember="ApplyOrganizationId" Caption="所属部门" EditType="NoEdit" IsGrouped="False" IsSorted="False" Position="1" Width="100px" HasValueList="True" />
          <WebGridColumn Name="ApplyMan" AllowGrouping="No" DataMember="ApplyMan" Caption="员工姓名" EditType="NoEdit" IsGrouped="False" IsSorted="False" Position="2" Width="80px" HasValueList="False" />
          <WebGridColumn Name="CreatedOn" AllowGrouping="No" DataMember="CreatedOn" Caption="登记时间" EditType="NoEdit" IsGrouped="False" IsSorted="False" Position="3" Width="100px" DataType="System.DateTime" DataFormatString="yyyy-MM-dd hh" HasValueList="False" />
          <WebGridColumn Name="ApplyDate" AllowGrouping="No" DataMember="ApplyDate" Caption="日志日期" IsGrouped="False" IsSorted="True" Position="4" Width="100px" DataType="System.DateTime" DataFormatString="yyyy-MM-dd" HasValueList="False" />
          <WebGridColumn Name="LogType" AllowGrouping="No" DataMember="LogType" Caption="日志类型" EditType="NoEdit" IsGrouped="True" IsSorted="True" Position="5" Width="0px" HasValueList="False" />
        </Columns>
        <GroupedColumns>
          <WebGridGroup SortOrder="Ascending" ColumnMember="LogType" CaseSensitive="Yes" />
        </GroupedColumns>
        <SortedColumns>
          <WebGridGroup SortOrder="Descending" ColumnMember="ApplyDate" />
        </SortedColumns>
        <FilteredColumns />
        <ColumnSets />
      </RootTable>
      <BrowserPrintSettings />
      <FlyPostBackSettings />
      <ChartInteractiveUI>
        <ChartTypeRibbon>
          <AreaType />
          <BarType />
          <ColumnType />
          <DoughnutType />
          <LineType />
          <PieType />
          <SmoothLineType />
          <StepLineType />
        </ChartTypeRibbon>
        <FilterAndSortRibbon />
        <ShowOrHideRibbon />
        <TitlesRibbon />
      </ChartInteractiveUI>
      <ChartSettings>
        <HeaderSettings />
        <SeriesColorCollection />
        <SeriesMarkerCollection />
        <BackgroundSettings />
        <LegendSettings />
        <LightModelSettings>
          <LightSources />
        </LightModelSettings>
        <ProjectionSettings />
        <VisualEffectSettings />
        <ChartWalls />
        <XAxis>
          <Title />
        </XAxis>
        <YAxis>
          <Title />
        </YAxis>
        <ZAxis>
          <Title />
        </ZAxis>
        <SeriesAreaSettings />
        <SeriesBarSettings />
        <SeriesColumnSettings />
        <SeriesBubbleSettings />
        <SeriesDoughnutSettings />
        <SeriesLineSettings />
        <SeriesPieSettings />
        <SeriesPolarSettings />
        <SeriesRadarSettings />
        <SeriesSmoothLineSettings />
        <SeriesStepLineSettings />
        <SeriesStockSettings />
        <SeriesXYSettings />
      </ChartSettings>
      <UtilizedCustomEditors />
      <ChartDataCollection />
      <ChartFilterCollection />
      <ChartCategoryCollection />
      <ChartSeriesCollection />
      <WebCombos />
    </WebGrid>
      

  2.   

    以上一个结点为一个对象.
    WebGrid为被序列化的对象.其它的都是它引用的对象.属性则为对象的属性.如果有很多控件要实现该功能用手工方式就有点累了.有没有方案可以类似于XmlSerializer序列化对象那样来序列化.
    知道的达人指教下谢谢.
      

  3.   

    不可以 如果可以 还回服务器端 被IIS服务器解析成标准HTML干什么啊?
      

  4.   

    去看看MSDN的序列化就知道了~
      

  5.   

    楼上说的确实正确.但也有例外需求不是:
    假如有个功能与Winform中的NumericUpDown Control相当甚至更强的WebNumericUpDown Control.此时该控件就要将一些属性值传到客户端供脚本使用.若手工输出,当有许多类似需求的控件时就显得不灵活不易维护了.我现在想知道有什么解决方案处理这种需求时具有泛用性?
    请高人赐教!!!!!!!!
      

  6.   

    MSDN?
    本地的还是网上的,我找了很久了都没有看到相关的例子.