传递runat =“sever”或控制asp.net值到html标签

时间:2013-08-24 09:18:27

标签: javascript html asp.net

我的runat =“sever”标签

 <asp:Label ID="Label1" runat="server" Text="hello"></asp:Label>

我的html标签

<form >  
<input type="text" name="requestparameter" id="requestparameter" ><br />
<input type="submit" name="submit"  value="Submit">
</form>

当我以前单击提交按钮时,我希望Label1.Text值存储在requestparameter

4 个答案:

答案 0 :(得分:0)

可能会有所帮助

        <form > 
  <asp:Label ID="Label1" ClientIDMode='static' runat="server" Text="hello"></asp:Label> 
            <input type="text" name="requestparameter" ClientIDMode='static' id="requestparameter" onclick='SetValue' ><br />
            <input type="submit" name="submit"  value="Submit">
            </form>
            <script>
            function SetValue(){
    document.getElementById('<%=requestparameter.ClientID %>').value=     document.getElementById('<%=Label1.ClientID %>').innerHTML
            }
            </script>

答案 1 :(得分:0)

试试这个。您希望在脚本中放置一个调试器,并检查从标签中获得的值。

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
    <script type="text/javascript">
        $(document).ready(function () {
            $("#testid").click(function () {
                debugger;
                $("#requestParameter").val($('#<%=label1.ClientID %>').text());
                alert($("#requestParameter").val());
            });
        }); 
    </script>
</asp:Content>
<asp:Content ID="BodyContent" runat="server"  ContentPlaceHolderID="MainContent">
    <asp:Label ID="label1" runat="server" Text="Hello"></asp:Label>
    <input type="text" id="requestParameter" />
    <input type="button" value="test"  id="testid"/>
</asp:Content>

编辑:修改了代码。这可以按预期工作。

答案 2 :(得分:0)

嗨,你可以试试Nilesh所写的内容

或者你可以试试这个。

<asp:Label ID="Label1" runat="server" Text="hello"></asp:Label>
<form >  
       <input type="text" name="requestparameter" id="requestparameter" ><br />
       <input type="submit" name="submit"  value="Submit" onclick="SetValue()">
</form>
<script>
    function SetValue()
    {
        $("#requestparameter").val($("#<%= Label1.ClientID %>").text());
    }
</script>

因为当asp.net呈现HTML时,它将转换元素的ID,而不是它在aspx页面中。 如果要在呈现时获取ID值,可以使用Control.ClientID属性。

答案 3 :(得分:0)

如果您不想向服务器发布任何内容,请按照之前发布的答案,但使用return false

<asp:Label ID="Label1" runat="server" Text="hello"></asp:Label>
<form >  
       <input type="text" name="requestparameter" id="requestparameter" ><br />
       <input type="submit" name="submit"  value="Submit" onclick="SetValue()">
</form>
<script>
    function SetValue()
    {
        $("#requestparameter").val($("#<%= Label1.ClientID %>").text());
        return false;
    }
</script>

return false将阻止事件的默认功能。即:将表单发布到服务器是提交按钮的默认功能。

您可以将return false更改为<input type="submit" name="submit" value="Submit" onclick="SetValue()">,而不是添加<input type="button" name="submit" value="Submit" onclick="SetValue()">(请参阅类型更改)

另外,请记住添加jQuery引用。