我现在画面上有若干个lable项目要从js得到值,并且在后台vb程序接到该值。因为不知道用js怎么给asp:lable设定value,只好用了lable.innHTML显示了,可是后台vb无法接到该lable的值后来我把lable改为asp:textBox,传值肯定都没问题。但是为了画面效果,必须把asp:textBox的readonly设为true,这下又不行了。js可以传值给readonly的textBox,但是后台接不到数据。因为不想增加hidden项目,请问各位大虾一个好方法。谢谢了。---------------------------------------------------------
一个菜鸟

解决方案 »

  1.   

    誰說textbox readonly=true時用js赋值后台得不到?.aspx:
    <HTML>
    <HEAD>
    <title>testReadonly</title>

    </HEAD>
    <body MS_POSITIONING="GridLayout" onload="document.getElementById('TextBox1').value='ssssssssssss'">
    <form id="Form1" method="post" runat="server">
    <asp:TextBox id="TextBox1" ReadOnly="True"  runat="server"></asp:TextBox>
    <asp:Button id="Button1"  runat="server"
    Text="Button"></asp:Button>
    </form>
    </body>
    </HTML>.vb: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Button1.Text = TextBox1.Text
        End Sub
      

  2.   

    另外將textbox的cssclass設置為
    border:none;border-bottom:outset 1px #cccccc;
    跟label的效果一樣。
      

  3.   

    楼上的兄弟,人家要的是LABELlabel在客户端的表现形式是SPAN,你看输出的HTML就知道了,然后写个JS修改值就行了。是不是很EASY???
      

  4.   

    lincent(笑着流浪)︰
    我發上面這個例子只是想說明︰textbox readonly=true時用js赋值后台也能得到。另,不是所有的label在客戶端都是span;html的label呢?
      

  5.   

    1,用readonly的Textbox是可以在服务器端取出值的。2,用Lable不管是HTML或者WEB的UI都在服务器端是取不出值的。我理解为是没有保存VIEWSTATE。
      

  6.   

    我试了一下,好像还是不行。我在页面上放了两个textBox控件,一个readonly一个没有。
    另外放了两个label项目接收。
    结果下面文件里的lbl1显示空,lbl2显示"dddddddddddd"
    还是有readonly的控件无法传值。我的环境是VS2005,莫非与众不同??aspx:<%@ Page Language="VB" AutoEventWireup="false" CodeFile="testReadonly.aspx.vb" Inherits="testReadonly" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><HTML>
    <HEAD>
    <title>testReadonly</title>

    </HEAD>
    <body MS_POSITIONING="GridLayout" onload="document.getElementById('TextBox1').value='ssssssssssss';document.getElementById('TextBox2').value='dddddddddddd'">
    <form id="Form1" method="post" runat="server">
    <asp:label id="lbl1" runat="server">TextBox1</asp:label><br>
    <asp:label id="lbl2" runat="server">TextBox2</asp:label><br>
    <asp:TextBox id="TextBox1" ReadOnly="True"  runat="server"></asp:TextBox>
    <asp:TextBox id="TextBox2" runat="server"></asp:TextBox>
    <asp:Button id="Button1"  runat="server"
    Text="Button"></asp:Button>
    </form>
    </body>
    </HTML>vb:Partial Class testReadonly
        Inherits System.Web.UI.Page    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            lbl1.Text = TextBox1.Text
            lbl2.Text = TextBox2.Text
        End Sub
    End Class
      

  7.   

    还是决定用hidden了,谢谢各位。