首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 非静态的字段、方法或属性“System.Web.UI.UserControl.Request.get”要求对象引用 [无满意答案结贴]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-12 22:31:15 楼主
    编译器错误信息: CS0120: 非静态的字段、方法或属性“System.Web.UI.UserControl.Request.get”要求对象引用

    源错误:
    行 12: public partial class Controls_WareById : System.Web.UI.UserControl
    行 13: {
    行 14:    public static int WareId = Convert.ToInt32(Request.QueryString["WareId"]);
    行 15:    protected void Page_Load(object sender, EventArgs e)
    行 16:    {

    如上 第14 行错误

    2.
    我用button__onClick事件获得一个Repeater控件中的一个Textbox的值,这个Textbox原来绑定了数据,我想获得我修改后的数据,怎么得到的就是它原来的值呀??
    50  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zengxie
    • 等级:
    发表于:2008-05-13 00:30:321楼 得分:0
    public static int WareId;
        protected void Page_Load(object sender, EventArgs e)
        {
            WareId = Convert.ToInt32(Request.QueryString["wareId"]);
        }
    第二个需求没说明,代码帖出来看看
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-13 08:59:062楼 得分:0
    编译器错误信息: CS0120: 非静态的字段、方法或属性“System.Web.UI.UserControl.Request.get”要求对象引用

    源错误:
    行 12: public partial class Controls_WareById : System.Web.UI.UserControl
    行 13: {
    行 14:    public static int WareId = Convert.ToInt32(Request.QueryString["WareId"]);
    行 15:    protected void Page_Load(object sender, EventArgs e)
    行 16:    {
     
    如上 第14 行错误

    2.
    我用button__onClick事件获得一个Repeater控件中的一个Textbox的值,这个Textbox原来绑定了数据,我想获得我修改后的数据,怎么得到的就是它原来的值呀??


    问题1  这个是一个语法错误

    问题2  你可以给TextBox 添加一个自定义属性
            语法 TextBox1.Attributes.Add("属性名称", "属性值");
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-13 10:17:223楼 得分:0
    1.WareId 我在前台的链接中还有用 <a href="ShoppingCart.aspx?WareId= <%= Convert.ToInt32(Request.QueryString["WareId"])%>">

    现在我是这么做的,想把他变成 <a href="ShoppingCart.aspx?WareId= <%= WareId%>">


    2.
    C# code
    protected void button_Click(object sender, EventArgs e) { foreach (RepeaterItem rpi in Repeater1.Items) { TextBox texQuantity = rpi.FindControl("TextBox1") as TextBox; Button texWareId = rpi.FindControl("Button1") as Button; if (texQuantity != null) { int quan = Convert.ToInt32(texQuantity.Text); int wid = Convert.ToInt32(texWareId.CommandArgument); CartTableAdapters.DisplayCartTableAdapter upnumber = new CartTableAdapters.DisplayCartTableAdapter(); upnumber.UpdateCartWareNumber(quan,CartId,wid); } } }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-13 11:47:464楼 得分:0
    还是没人知道吗?

    我把问题整理了一下:
    1.我想在ASPX页面中实现 <a href="ShoppingCart.aspx?WareId= <%= WareId%>">

    所以在后台定义了

    行 12: public partial class Controls_WareById : System.Web.UI.UserControl
    行 13: {
    行 14:    public static int WareId = Convert.ToInt32(Request.QueryString["WareId"]);
    行 15:    protected void Page_Load(object sender, EventArgs e)
    行 16:    {


    运行时它提示14行错误???





    2.我用下面的方法获得一个Repeater中的一个textbox的值,

    protected void button_Click(object sender, EventArgs e)
        {
            foreach (RepeaterItem rpi in Repeater1.Items)
            {
                TextBox texQuantity = rpi.FindControl("TextBox1") as TextBox;
                Button texWareId = rpi.FindControl("Button1") as Button;
                if (texQuantity != null)
                {
                    int quan = Convert.ToInt32(texQuantity.Text);
                    int wid = Convert.ToInt32(texWareId.CommandArgument);

                    CartTableAdapters.DisplayCartTableAdapter upnumber = new CartTableAdapters.DisplayCartTableAdapter();
                    upnumber.UpdateCartWareNumber(quan,CartId,wid);
                }
            }

        }



    该TextBox在“Repeater1”中定义为 <asp:TextBox ID="TextBox1" runat="server" Width="45px" Text=' <%# Eval("Quantity") %>'> </asp:TextBox>



    我想获得我修改后的Text值 怎么得到的就是它原来的值呀??


    3. C#中调用存储过程时,存储过程中定义参数为output 类型,怎么还让输入参数呀。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • hackztx
    • 等级:
    发表于:2008-05-13 11:54:425楼 得分:0
      public static int WareId = Convert.ToInt32(Request.QueryString["WareId"]);

    Request.QueryString["WareId"]这个值肯定为Null...想也不用像。。。。如果你非要这样。。请这样转换


    C# code
    static void Main() { string str = null; int i; bool bl = int.TryParse(str, out i); Console.WriteLine(i);//0 str = "10"; bl = int.TryParse(str, out i); Console.WriteLine(i); bl = int.TryParse(str, out i);--out签名的参数不是说只能为null吗???为什么这段程序仍然可以编译,并且测试成功..... Console.WriteLine(i); Console.ReadKey(); }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-13 16:55:286楼 得分:0
    第二个问题终于解决了
    原来是没有加Page.IsPostBack的原因。

    弄了好半天,就是这么个简单的问题....
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-13 16:58:407楼 得分:0
    呵呵...
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-13 17:02:308楼 得分:0
    public static int WareId = Convert.ToInt32(Request.QueryString["WareId"]); 
    先判断Request.QueryString["WareId"]为null再处理
    另外最好别用静态static变量
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-13 17:36:369楼 得分:0
    我改成
    public int WareId = Convert.ToInt32(Request.QueryString["WareId"]); 
    也不行哈??

    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    世纪乐知(北京)网络技术有限公司 版权所有 京 ICP 证 020026 号
    Copyright © 2000-2007, CSDN.NET, All Rights Reserved