ASP.NET TextBox无法从C#添加文本

时间:2017-02-01 14:45:17

标签: c# asp.net

我正在尝试执行多客户端 - 服务器应用程序。在我使用Windows窗体执行了一些基本控件和功能后,我想将WebPage添加到客户端。

我创建了一个新项目并进行了编辑,工作正常,页面连接到服务器,它接收我从网页发送的消息。

当我需要在网页上的文本框中发布消息时,我遇到的问题。我在这里搜索了一些页面,在互联网上搜索我无法找到解决问题的好方法。我使用了Page.IsPostBack,但它没有工作,然后我添加了一个UpdatePanel,因为当我点击按钮时页面很新鲜,但是也没有工作......现在我没有想法。

有人可以建议我该怎么做?我的代码背后是C#,我不知道如何将这些细节解析为JavaScript或jQuery,所以你们中的任何人都有一些关于如何获得它的细节。

提前致谢。

如果这个问题很重要,我也会发布所需的任何内容。

编辑(已添加代码):

- Set-AzureSubscription -CurrentStorageAccount $VM.StorageAccount -SubscriptionId $VM.SubscriptionId
- $GlobalOSDiskName = (Get-AzureDisk | Where-Object { $_.OS -iin "Linux","Windows" } | Select DiskName).DiskName
- $VM = Get-Content $json_file -Raw | ConvertFrom-Json
- $VMOSDisk = $VM.OSDisk
- $vmObj = New-Object -TypeName Microsoft.WindowsAzure.Commands.ServiceManagement.Model.PersistentVM
- $vmObj = New-AzureVMConfig -Name $VM.Name -InstanceSize $VM.InstanceSize -DiskName $VMOSDisk.DiskName
- $vmObj = Set-AzureOSDisk -VM $vmObj 
- $VMDataDisks = $VM.DataDisks
- foreach ($VMDataDisk in $VMDataDisks) {
    $vmObj = Add-AzureDataDisk -Import -DiskName $VMDataDisk.DiskName -LUN $VMDataDisk.Lun -HostCaching $VMDataDisk.HostCaching -VM $vmObj
    }
- $password = Read-Host -Prompt "Enter password for admin account '$username'" -AsSecureString 
- $vmObj = Set-AzureVMAccessExtension -VM $vmObj -UserName $username -Password $password
    # This is the last test I've made for this but it's not better...
    # Adding informations for Subnet, StaticIP, AvailabilitySet, EndPoint, ACL etc...
- New-AzureVM -VNetName $VM.Vnet -ServiceName $VM.ServiceName -VM $vmObj -WaitForBoot
    # Creation of the VM based on the object $vmObj

1 个答案:

答案 0 :(得分:1)

如果您希望两个服务器控件通过Ajax相互通信,则需要将它们放在相同的 UpdatePanel 中。

仅供参考: 如果您是ASP.Net Web Form的新手,请不要使用UpdatePanel。相反,让它适用于常规回发。

<asp:UpdatePanel ID="UpdatePanelConnect" runat="server">
    <ContentTemplate>
        <asp:Label ID="lblUsername" runat="server" Text="Enter username:"></asp:Label>
        <asp:TextBox ID="tbUsername" runat="server"></asp:TextBox>
        <asp:Button ID="btnConnect" runat="server" OnClick="btnConnect_Click" Text="Connect" />
        <asp:TextBox
            ID="tbReceivedMessages"
            runat="server"
            Height="250px"
            TextMode="MultiLine"
            Width="250px"
            MaxLength="2000000"
            ReadOnly="True"></asp:TextBox>
        </p>
        <p>&nbsp;</p>
        <p>
            <asp:TextBox ID="tbSendMessage" runat="server"></asp:TextBox>
            <asp:Button ID="btnSend" runat="server" OnClick="btnSend_Click" Text="Send" />
    </ContentTemplate>
</asp:UpdatePanel>

public void btnSend_Click(object sender, EventArgs e)
{
    if (tbSendMessage.Text.Length > 0)
    {
        string message = tbSendMessage.Text;
        // This code won't work.
        /*byte[] outStream = Encoding.ASCII.GetBytes(message + "$");
        serverStream.Write(outStream, 0, outStream.Length);
        serverStream.Flush();
        tbSendMessage.Text = string.Empty;*/
    }
}