【问题标题】:vb.net web form generates extra blank linesvb.net web 表单生成额外的空行
【发布时间】:2014-09-01 17:45:39
【问题描述】:

在 vb.net 2010 网络表单应用程序中,用户将“模板字母”加载到网络 界面,他们可以修改发送给各种客户的信件以生成 各种逾期付款通知。用户基本上选择了他们想要的“模板字母” 为特定客户生成,然后点击“保存”按钮。

Web 界面的底部有“preview”、“html”和“design”选项卡 编辑。这些选项卡不是任何自定义代码的一部分,它们必须是网络的一部分 继承的接口。

编辑器的值存储在 sql server 2012 数据库中的字段中 称为“strTemplate”,其值实际上是 html。

问题是一旦加载了“strTemplate”的 html 值供用户编辑,则在“模板”的不同部分之间加载了额外的空行。基本上会生成额外的<br></br> 标签。

当用户点击保存按钮时,会在字母的各个部分之间生成更多<br></br>标签。

我不希望生成这些额外的空行。

我进入了 html 标签,删除了<br></br> 标签并点击了保存按钮。仍然会生成额外的标签。我已经单步执行了代码,找到了生成标签的位置,找不到。

那么你能告诉我我能做些什么来不生成额外的<br></br>标签吗?

以下是访问网页界面部分时使用的一些代码:

Imports System.Data
Imports System.Reflection
Imports System.Windows.Forms
Imports Telerik.Web.UI
Imports System.Web.Script.Services
Imports System.Web.Script.Serialization
Imports System.Web.Services


Partial Class edittemplates_default
    Inherits System.Web.UI.Page

Protected _master As MasterPage

#Region "Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load"

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        _master = CType(Page.Master, MasterPage)
        _master.PageTitle = "Edit Templates"
        If Not Page.IsPostBack Then
            If (edittemplates_default.SiteUserManager.SessionUser IsNot Nothing) Then
                LoadTemplates()
                LoadVariables()
            Else
                'pnlEditor.Enabled = False
                'pnlEditor.Visible = False            
            End If
        End If
        Master.Page.Title = "Login"
    End Sub
#End Region

#Region "Protected Sub LoadTemplates()"
    Protected Sub LoadTemplates()
        Dim et As EditTemplates = New EditTemplates()
        Dim dt As DataTable = et.SelectTemplates()
        For i = 0 To dt.Rows.Count() - 1
            ddlTemplates.Items.Add(New ListItem(dt.Rows(i)(dt.Columns(1).ColumnName()), dt.Rows(i)(dt.Columns(0).ColumnName())))
        Next
    End Sub
#End Region

#Region "Protected Sub LoadVariables()"

    Protected Sub LoadVariables()
        Dim et As EditTemplates = New EditTemplates()
        Dim dt As DataTable = et.SelectAtnLtrVariables()
        For i = 0 To dt.Rows.Count() - 1
            rlbVariables.Items.Add(New RadListBoxItem(dt.Rows(i)(dt.Columns(1).ColumnName()), dt.Rows(i)(dt.Columns(0).ColumnName())))
        Next
    End Sub
#End Region

#Region "Protected Sub btnSaveTemplate_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSaveTemplate.Click"

    Protected Sub btnSaveTemplate_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSaveTemplate.Click
        Dim et As EditTemplates = New EditTemplates()
        If ddlTemplates.SelectedValue <> 0 Then
            et.UpdateTemplate(ddlTemplates.SelectedValue, ddlLanguage.SelectedValue, rEditor.Content.ToString())
        End If
    End Sub

#End Region
-------------------
Partial Class edittemplates_default
Inherits System.Web.UI.Page

Protected _master As MasterPage
-----------

【问题讨论】:

  • 尽管我尝试格式化您发布的代码以提高可读性,但似乎都与您的问题无关。在 Google 上搜索 Telerik RadEditor adding additional &lt;br&gt;&lt;/br&gt; tags with each postback 似乎很有希望 - hth。
  • 进入调试器并查看 rEditor.Content 是否具有预期的 HTML,如果没有 - 数据访问层中的某些东西会弄乱 HTML。如果它们来自编辑器 - 请参阅上面的搜索。您还可以尝试将 ContentFilters 设置为 None 以查看其中一个是否导致它。通常,请尝试将 Telerik UI for ASP.NET AJAX 版本升级到最新版本,因为这可能是当前版本不支持的浏览器中的错误。
  • 我会检查这些项目

标签: asp.net telerik vb.net-2010 telerik-grid


【解决方案1】:

您使用的是非常旧的 RadEditor 版本,它不支持存在报告问题的 IE9。要解决此问题,建议升级到 2014 年第二季度的最新版本,这将确保编辑器在所有现代浏览器中都能正常运行。

您也可以在 RadEditor 的在线演示中验证问题是否已修复:http://demos.telerik.com/aspnet-ajax/editor/examples/saveindatabase/defaultcs.aspx

【讨论】:

    猜你喜欢
    • 2019-08-01
    • 2012-11-12
    • 1970-01-01
    • 1970-01-01
    • 2020-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多