首页 > 解决方案 > 无法将文本放入asp.net的输入框中

问题描述

我正在尝试使用 c# 使输入框在 asp.net 中显示一些文本,但是在我运行后面的代码后,输入框中没有显示任何内容。ui 是 RadNumericTextBox uiDistance。在课堂上,我把 this.uiDistance.Text = "123"; 但是在网页中运行代码后。我看不到“123”放在 uiDistance 文本框中。我该如何解决?

这是我的 aspx UsageControl2SubControl1.ascx

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="UsageControl2SubControl1.ascx.cs" Inherits="WebControls.UsageControl2SubControl1" %>
<asp:HiddenField ID="uiRemoved" Value="false" runat="server" />
<asp:HiddenField ID="uiID" runat="server" />
<div class="form-group">    

    <div class="col-md-2 customColumnPadding">
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
                <telerik:RadTextBox ID="uiToLocation" runat="server" Width="100%" AutoPostBack="true"
                    OnTextChanged="uiToLocation_Leave" EmptyMessage="<%$ Resources:ResourceHKEx,Arrive_To %>" />
            </ContentTemplate>
        </asp:UpdatePanel>

    </div>

    <div class="col-md-2 customColumnPadding" id="uiColumnDistance" runat="server">
        <telerik:RadNumericTextBox ID="uiDistance" runat="server" Width="100%" MinValue="0" NumberFormat-DecimalDigits="2" EmptyMessage="<%$ Resources:Resource,Distance %>" />
    </div>

</div>
<div class="hr-line-dashed"></div>

这是我的代码:UsageControl2SubControl1.ascx.cs

using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Telerik.Web.UI;

namespace WebControls
{
    public partial class UsageControl2SubControl1 : System.Web.UI.UserControl
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Convert.ToBoolean(uiRemoved.Value))
            {
                this.Visible = false;
            }
        }

        protected void uiAdd_Click(object sender, Telerik.Web.UI.ImageButtonClickEventArgs e)
        {

        }

        protected void uiRemove_Click(object sender, Telerik.Web.UI.ImageButtonClickEventArgs e)
        {

        }

        protected void RadComboBoxProduct_ItemsRequested(object sender, RadComboBoxItemsRequestedEventArgs e)
        {

        }

        protected void uiAdd_Click1(object sender, ImageClickEventArgs e)
        {


        }

        protected void uiRemove_Click1(object sender, ImageClickEventArgs e)
        {

        }

        protected void uiToLocation_Leave(object sender, EventArgs e)
        {


            this.uiDistance.Text = "123";

        }
    }// end class
}// end namespace 

标签: c#htmlasp.net

解决方案


只是为了稍微更新你的 aspx 代码

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>

<div class="form-group">
    <div class="col-md-2 customColumnPadding">           
         <telerik:RadTextBox ID="uiToLocation" runat="server" Width="100%" AutoPostBack="true"
                    OnTextChanged="uiToLocation_Leave" EmptyMessage="<%$ Resources:ResourceHKEx,Arrive_To %>" />
    </div>

    <div class="col-md-2 customColumnPadding" id="uiColumnDistance" runat="server">
        <telerik:RadNumericTextBox ID="uiDistance" runat="server" Width="100%" MinValue="0" NumberFormat-DecimalDigits="2" EmptyMessage="<%$ Resources:Resource,Distance %>" />
    </div>

</div>
  </ContentTemplate>
        </asp:UpdatePanel>

由于您的文本框仅在更新面板内,因此在回发时只有该部分被部分更新,您也需要将其放入RadNumericTextBox更新面板内。

希望这会奏效。


推荐阅读