0

我希望有人可以帮助我解决问题。

DNN我正在创建的自定义模块中,我有一个RadButtonText显示resource file. 其他控件确实从资源文件中读取值。

ascx我从和尝试过code behind。另一个奇怪的事情是,从后面的代码调试应用程序时,我看到了该Text属性。

控制定义为:

<dnn:dnnRadButton ID="CntUsSubmit" runat="server" OnClick="ProcessSendMail" resourcekey="CntUsSend" 
   SingleClick="true" SingleClickText="Submitting..." Style="clear: both; float: left; margin: 10px 0;" ></dnn:dnnRadButton>

我也进行了本地化Page_Load

CntUsSubmit.Text = Localization.GetString( "CntUsSend.Text", LocalResourceFile );

页面呈现为:

<span id="dnn_ctr474_View_CntUsSubmit" class="RadButton RadButton_Default rbSkinnedButton" 
   style="clear: both; float: left; margin: 10px 0;">
  <input class="rbDecorated" type="button" name="dnn$ctr474$View$CntUsSubmit_input" 
     id="dnn_ctr474_View_CntUsSubmit_input" value="" />
  <input id="dnn_ctr474_View_CntUsSubmit_ClientState" 
     name="dnn_ctr474_View_CntUsSubmit_ClientState" type="hidden" />
 </span>

Sys.Application.add_init函数显示:

Sys.Application.add_init(function() {
      $create(Telerik.Web.UI.RadButton, {"_accessKey":"","_postBackReference":"WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions('dnn$ctr474$View$CntUsSubmit', '', true, '', '', false, true))","clientStateFieldID":"dnn_ctr474_View_CntUsSubmit_ClientState","iconData":{},"imageData":{},"singleClick":true,"singleClickText":"שולח...","toggleStatesData":[],"uniqueGroupName":"","uniqueID":"dnn$ctr474$View$CntUsSubmit","value":"שלח"}, null, null, $get("dnn_ctr474_View_CntUsSubmit"));
});

我知道控件知道来自 add_init 的文本,但呈现的按钮没有得到它。有人可以帮我解决这个问题吗?

我正在为 Framework 4.0 使用 DNN 7.0.2,VS 2012

4

2 回答 2

0

这很奇怪。您可以在其 OnClientLoad 事件中尝试以下操作:

        function OnClientLoad(sender, args)
    {
        sender.set_text(sender.get_text());
    }

尝试首先提醒 get_text() 以查看它是否返回您需要的内容。如果是这样,你可以把它放在一个全局的 JS 文件中,并通过 Theme 添加事件处理程序。

如果这无济于事,请尝试将所需文本放入隐藏字段(例如,使用唯一类)并再次使用 set_text() 方法。

于 2013-10-15T14:14:26.883 回答
0

最后我放弃了RadButton,但我使用了 Encosia 的 Postback Ritalin,这让这个技巧变得又好又顺利。

于 2013-10-16T07:27:41.130 回答