0

在共享点服务器上使用 asp.net 和 c# 我编辑了具有 runat="server" 的 div 标签的 innerhtml,并在其中放置了许多 html 代码和一个输入框(这个输入框是自动完成 jquery UI 输入框)。

我可以给输入框一个id。

现在如何在 c# 中访问输入框中的文本?

        searchbox.InnerHtml = @"
                <script type='text/javascript'>
                    $(function() {
                        var availableTags = [
                            " + results + @"
                        ];
                        $( '#tags' ).autocomplete({
                            source: availableTags
                        });
                    });
                </script>
                <div class='demo'>
                    <div class='ui-widget'>
                        <input id='tags'>
                    </div>
                </div>";
4

2 回答 2

0

您需要一个 HTML 解析器。你可以试试这个库。具体来说,如果您使用 Chrome .. 右键单击​​框本身并“检查它”。右键单击输入框,然后单击“复制 XPath”。这是路径,现在只需使用 HTMLAgilityPack 选择元素。

于 2012-08-17T19:46:38.577 回答
0

您不能直接从服务器端代码访问输入框的值。您要么需要将其发回,要么通过 Ajax 请求将输入框的值发送到服务器。

使用表单回发并提交

<form action="yourpage.aspz" method="POST">
    <input type="text" name="inputbox" id="inputbox"/>
    <input type="submit" name="submit" value="submit"/>
</form>

对于带有 JQuery 的 Ajax 代码:

<input type="text" name="inputbox" id="inputbox"/>
<input type="button" name="submit" value="submit" onclick="ajaxPost();"/>
<script type="text/javascript">
    function ajaxPost(){
        var inputBoxValue=$("#inputbox").val();
        $.post("yourpage.aspx", { inputbox: inputBoxValue } );
    }
</script>

Yourpage.aspx.cs

     // ... some other code 
     var a = Request.Form("inputbox")
     // ... some other code
于 2012-08-17T19:57:06.753 回答