首页 新闻 会员 周边

如何在自定义控件内写入代码块?

0
悬赏园豆:200 [已关闭问题] 关闭于 2009-12-07 14:14

高手请赐教:

问题如下所描述:

自定义控件结构如下,小弟想在红色字体处穿插代码块,用以获取条目数。不知如何处理?

<Jans:ZDataGrid id="dg1" runat="server" method="Jans.Site.Service.Core.Framework.Business.RoleTabSite.dg1DataBind"
          size="14"><table width="100%" cellpadding="2" cellspacing="0" class="dataTable">
          <tr ztype="pagebar">
                    <td colspan="<%=map.Counts+2%>">${PageBar}</td>
                </tr>
          </tr>
        </table>
        </Jans:ZDataGrid>

千衣的主页 千衣 | 初学一级 | 园豆:0
提问于:2009-12-06 13:58
< >
分享
所有回答(3)
0

后台定义一个PUBLIC变量呀。

--kankan

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="TestP.ascx.cs" Inherits="TestP" %>
<table width="100%" cellpadding="2" cellspacing="0" class="dataTable">
    <tr ztype="pagebar">
        <td colspan="<%= Map.Counts +2%>">
            ${PageBar}</td>
    </tr>
</table>

--back

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class TestP : System.Web.UI.UserControl
{
    protected void Page_Load(object sender, EventArgs e)
    {
      
    }
    public static class Map
    {
        public static int Counts = 3;
    }
}

woody.wu | 园豆:3621 (老鸟四级) | 2009-12-06 14:00
编译无法通过,提示:该上下文不支持代码块。:(
支持(0) 反对(0) 千衣 | 园豆:0 (初学一级) | 2009-12-06 14:02
@千衣:看看是不是这个意思.
支持(0) 反对(0) woody.wu | 园豆:3621 (老鸟四级) | 2009-12-06 14:09
@woody.wu:谢谢关注:)你用的用户控件,我需要的是自定义控件,稍微不一样,控件里有一个method属性,控件会根据这个属性去执行服务器端的方法,将控件的内容作为模板解析(本例即为table),当模板是静态的时候,是可以的。当模板为动态的时候,也就是需要代码块注入的时候,net提示该上下文不支持代码块。再次感谢。
支持(0) 反对(0) 千衣 | 园豆:0 (初学一级) | 2009-12-06 14:18
@千衣:控件呈现的时候来获得呀.
支持(0) 反对(0) woody.wu | 园豆:3621 (老鸟四级) | 2009-12-06 14:27
@woody.wu: 不知道具体如何做法?
支持(0) 反对(0) 千衣 | 园豆:0 (初学一级) | 2009-12-06 14:41
@千衣:public class TestControl:WebControl { private string _method; /// <summary> /// /// </summary> public string Method { get { return _method; } set { _method = value; } } private string _tempHTML; public string TempHTML { get { return _tempHTML; } set { _tempHTML = value; } } protected override void Render(System.Web.UI.HtmlTextWriter writer) { base.Render(writer); writer.Write("<table><tr><td></td></tr></table>"); } }
支持(0) 反对(0) woody.wu | 园豆:3621 (老鸟四级) | 2009-12-06 16:10
@woody.wu: :)你 呈现的是table,我的本意是,table作为控件的模版,要呈现的是控件.谢谢你的热心关注.
支持(0) 反对(0) 千衣 | 园豆:0 (初学一级) | 2009-12-07 09:23
0

<td colspan="<%=(map.Counts+2)%>">${PageBar}</td>

 

邀月 | 园豆:25475 (高人七级) | 2009-12-06 20:04
0

asp.net webform不允许你在view上干那么多事儿

你可以在cs中写一个方法

或者转投asp.net mvc的怀抱,它让你从容的面对view,可以在view中应用各种逻辑操作(当然,我并不推荐你这么做)如果你玩过asp,php,jsp会有更深刻的了解。

紫色永恒 | 园豆:844 (小虾三级) | 2009-12-07 00:21
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册