首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RadTextBox未更新

RadTextBox未更新
EN

Stack Overflow用户
提问于 2015-02-05 06:46:52
回答 2查看 967关注 0票数 0

嗨,我正在尝试用Telerik RadTextBoxes用一个简单的表单更新一些数据库的值。我可以设置文本值,没有问题,但当涉及到保存在按钮上单击时,值不会更新。我设置文本框的代码在页面加载函数中,但是我正在检查(!IsPostBack)

下面是我的html:

代码语言:javascript
复制
<div style="width:95%;">
<div style=" width:100%;float:left; background-color:#fff; border:1px solid #d1d2d3; margin-top:25px; padding:15px; -webkit-box-shadow: inset 1px 0px 5px 0px rgba(50, 50, 50, 0.10); -moz-box-shadow:    inset 1px 0px 5px 0px rgba(50, 50, 50, 0.10); box-shadow: inset 1px 0px 5px 0px rgba(50, 50, 50, 0.10);">
    <h2 style="float:left; width:50%;"><asp:Literal ID="litTitle" runat="server" Text="Add A New Zone" /></h2>
    <telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" Width="100%">
        <telerik:RadNotification runat="server" id="notifyError" Position="Center" Width="330" Height="130" EnableRoundedCorners="true" EnableShadow="true" Style="z-index: 35000"></telerik:RadNotification>

        <div style="float:right;margin-right:10px;margin-left:5px;"><telerik:RadButton ID="btnSave" runat="server" Text="Save" OnClick="btnSave_Click" /></div><div style="float:right;margin-right:5px;"><telerik:RadButton ID="btnCancel" runat="server" Text="Cancel" OnClick="btnCancel_Click" /></div><div style="float:right;margin-right:5px;"><telerik:RadButton ID="btnDelete" runat="server" Text="Delete" OnClick="btnDelete_Click" OnClientClicked="confirm('Are you sure you wish to delete this zone?');" /></div>
        <div class="clear" style="clear:both;height:25px;"></div>
        <div style="width:100%;">
            <div style="float:left;">
                <div style="float:left; margin-left:10px; margin-right:5px; width:200px;">Zone Code:</div>
                <div style="float:left; margin-left:5px; margin-right:10px;"><telerik:RadTextBox ID="txtZoneName" runat="server" CausesValidation="false" Width="200"></telerik:RadTextBox></div>
            </div>
            <div class="clear" style="height:35px;clear:both;"></div>
            <div style="float:left;">
                <div style="float:left; margin-left:10px; margin-right:5px; width:200px;">Name:</div>
                <div style="float:left; margin-left:5px; margin-right:10px;"><telerik:RadTextBox ID="txtZoneCode" runat="server" CausesValidation="false" Width="200"></telerik:RadTextBox></div>
            </div>
            <div class="clear" style="height:35px;clear:both;"></div>
            <div>
                <div style="float:left; margin-left:10px; margin-right:5px; width:200px;">Monthly Book Page Goal:</div>
                <div style="float:left; margin-left:5px; margin-right:10px;"><telerik:RadTextBox ID="txtZoneBookGoal" runat="server" CausesValidation="false" Width="200"></telerik:RadTextBox></div>
            </div>
            <div class="clear" style="height:45px;clear:both;"></div>
            <div style="width:250px; margin:0 auto;">
                <div style="float:left;"><telerik:RadButton ID="btnCreate" runat="server" Text="Save" OnClick="btnCreate_Click" /></div>
            </div>
        </div>
    </telerik:RadAjaxPanel>
</div>
</div>

这是我的c#:

代码语言:javascript
复制
protected void Page_Load(object sender, EventArgs e)
    {
        if(!Page.IsPostBack)
        {
            if(Request.Params["z"] != null)
            {
                Zones z = Zones.GetByID(Utils.GetLong(Request.Params["z"]));

                this.txtZoneCode.Text = z.Code;
                this.txtZoneName.Text = z.Name;
                this.txtZoneBookGoal.Text = Utils.GetString(z.BookGoal);
                this.litTitle.Text = "Edit Zone";
            }
        }
    }

protected void btnSave_Click(object sender, EventArgs e)
    {
        bool valid = true;
        string error = "";

        if (this.txtZoneCode.Text == "")
        {
            valid = false;
            error += "- Code<br/>";
        }

        if (this.txtZoneName.Text == "")
        {
            valid = false;
            error += "- Name<br/>";
        }

        if (valid)
        {
            if (Request.Params["z"] != null)
            {
                Zones z = Zones.GetByID(Utils.GetLong(Request.Params["z"]));

                z.Code = this.txtZoneCode.Text;
                z.Name = this.txtZoneName.Text;
                z.BookGoal = Utils.GetInt(this.txtZoneBookGoal.Text);

                z.Save();

                if (z.ZoneID > 0)
                {
                    Response.Redirect("ManageZones.aspx?v=1", true);
                }
                else
                {
                    this.notifyError.Title = "Zone update was not successfull!";
                    this.notifyError.Text = "There was an error saving your zone. Please try again";
                    this.notifyError.Show();
                    return;
                }
            }
            else
            {
                Zones z = new Zones();

                z.Code = this.txtZoneCode.Text;
                z.Name = this.txtZoneName.Text;
                z.BookGoal = Utils.GetInt(this.txtZoneBookGoal.Text);

                z.Save();

                if (z.ZoneID > 0)
                {
                    Response.Redirect("ManageZones.aspx?v=1", true);
                }
                else
                {
                    this.notifyError.Title = "Zone creation was not successfull!";
                    this.notifyError.Text = "There was an error saving your zone. Please try again";
                    this.notifyError.Show();
                    return;
                }
            }
        }
        else
        {
            this.notifyError.Title = "Please fill in the following to continue:";
            this.notifyError.Text = error;
            this.notifyError.Show();
            return;
        }
    }

罗伯特·泽诺

EN

回答 2

Stack Overflow用户

发布于 2015-02-07 04:39:56

我将OnClientClicked更改为OnClientClicking,因为有一个javascript错误导致页面断开,无法提取正确的数据

票数 1
EN

Stack Overflow用户

发布于 2015-02-05 07:28:54

您有四个按钮-两个按钮具有相同的名称保存。

看起来你按错了。这也让我感到困惑。

代码语言:javascript
复制
protected void btnSave_Click(object sender, EventArgs e)
{
   // Not this event
}

protected void btnCreate_Click(object sender, EventArgs e)
{
   // You need to use this event.
}

更好的设计实践

  1. 使用CSS而不是内联样式。
  2. 你需要正确命名按钮。例如,SaveRadButton,CreateRadButton

像btnXXX这样的DO NOT use Hungarian notation,特别是当你使用像telerik这样的第三方控件时。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28333044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档