asp.net 后台静态方法如何操作控件给其赋值

baidu_18750827 2014-12-23 04:11:17

private static TextBox gr
protected void Page_Load(object sender, EventArgs e)
{
gr = TextBox1;
}

[WebMethod]
public static string Get()
{
gr.Text = "1111";
return "";
}



function ad() {
$.ajax({
type: "post",
url: "WebForm2.aspx/Get",
data: "{}",
cache: false,
contentType: "application/json;utf-8",
dataType: "json",
success: function (data) {
//
}
});
}


其实我是突然奇想,我想比如我在前台用ajax向后台发送请求,然后后台处理这个请求的时候,顺便把某个控件的值改了..
因为我之前了解过静态方法也可以操作控件的,所以就测试了一下,发现不成功?

这个是什么原因?是不是asp.net的机制问题啊,

...全文
576 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
全体起立 2014-12-25
  • 打赏
  • 举报
回复 2
楼上的太能喷了,不懂装懂,aspx 和ashx 只是扩展不同,里面继承的对象不同,aspx带有反射机制,可以将附带的.cs类反射并处理里面的page_load方法,仅此而已。 至于程序想怎么写,那就看程序员的风格,比如我的编程风格,所有代码都写到.cs类中,整个网站没有一个aspx和ashx页面,什么都没有,只有一个web.config,和引用了几个dll,所有代码都封装到dll里的类里。 ashx如果加上一个反射的模块,照样做成aspx,至于在aspx里写方法怎么了,谁规定的处理程序方法非得写在ashx里??? 至于要想说执行效率,我看就别提了,只要做到最高十几毫秒之内的执行时间就没必要矫情了,到时候再得了强迫症。
  • 打赏
  • 举报
回复
把web服务跟asp.net页面混为一谈,是很荒唐的。10年前有可笑的ajaxpro在aspx里边弄什么方法,如今又看到你这种程序了。 奉劝你一句,web服务器单独写到ashx中。因为只有这个“ashx”机制才是它适配的。
baidu_18750827 2014-12-23
  • 打赏
  • 举报
回复
引用 3 楼 Z65443344 的回复:
用ajax,你只能刷新ajax包住的区域,其他部分不刷新页面是不会改变的
如何理解 ajax包住的区域..比如我上面的代码

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <script src="jquery-1.9.1.min.js"></script>
    <script>
        function ad() {

            $.ajax({
                type: "post",
                url: "WebForm2.aspx/Get",
                data: "{}",
                cache: false,
                contentType: "application/json;utf-8",
                dataType: "json",
                success: function (data) {
                   }
            });
        }
 </script>
</head>
<body>
    <form id="form1" runat="server">
        <a href="#" onclick="ad()">dasdwqeq</a>
        <asp:TextBox ID="TextBox1" runat="server" Text="ddd"></asp:TextBox>
    </form>
</body>
</html>

这个怎么知道ajax包含的区域在哪
baidu_18750827 2014-12-23
  • 打赏
  • 举报
回复
引用 2 楼 starfd 的回复:
突发奇想是好的,但先了解下B/S机制先。。。。
所以说,我那上面就问了,是不是asp.net的机制问题,我这个就不是很懂了...说说
於黾 2014-12-23
  • 打赏
  • 举报
回复
用ajax,你只能刷新ajax包住的区域,其他部分不刷新页面是不会改变的
  • 打赏
  • 举报
回复
突发奇想是好的,但先了解下B/S机制先。。。。
baidu_18750827 2014-12-23
  • 打赏
  • 举报
回复
对了,我想问,我下面的写法跟上面的有什么本质的不同?

 private static TextBox gr;
        protected void Page_Load(object sender, EventArgs e)
        {
            p = this;
            gr = TextBox1;
            inti();
        }
   private static void inti()
        {
            gr.Text = "111111";
            
        }
我这样是可以给控件赋值的

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧