为什么在 Web 部件中部分回发后我看不到变量或视图状态?
这里发生了一些非常奇怪的事情。
我在 Sharepoint 中有一个自定义 WebPart,它可以通过电子邮件将表单发送到 Excel。我正在使用 Asp.NET 3.5、Ajax、jQuery。
在 OnInit() 内部,我连接到 TeamFoundation Server,打开 Excel 模板,初始化 jQuery,并加载 css。
CreateChildControls() 将控件添加到面板等,并创建一个空的文字,我称之为“litScript”。
在 PreRender() 内部,我根据部分(或非)回发等更新值。我还给 litScript 赋值,它由一些布局舍入效果、基于 jQuery 的选项卡效果和鼠标跟随进度图标组成。
我有许多带有按钮的选项卡,单击这些按钮后,会处理一些内容。
分配随机文本“我在这里!”对于某些按钮单击事件内的标签,它会完美地重新加载。
cc.GetTextControl("lblTeste").Text = myForm.PostbackMessage;
(cc.GetTextControl 只是返回我的控件)。
然而,通过使用我的文字和写作,
cc.GetTextControl("litScript").Text = "<somejavascript>"+myForm.PostbackMessage+"</somejavascript>";
我什么也得不到。
当我进行完整回发时,所有内容都会正确加载。 怎么了?
Something very odd is happening here.
I have a custom WebPart within Sharepoint which sends forms to Excel and by E-Mail. I'm using Asp.NET 3.5, Ajax, jQuery.
Inside OnInit() I'm connecting to TeamFoundation Server, opening an excel template, initializing jQuery, and loading up the css.
CreateChildControls() adds the controls to panels and such, and creates an empty literal i'm calling "litScript".
Inside PreRender(), I'm updating values based on partial (or not) postbacks and such. I also assign a value to litScript, which composes some layout rounding effect, a jQuery-based tab effect, and mouse-following progress icon.
I have many tabs with buttons which, upon clicked, process some stuff.
Upon assigning a random text "I'm here!" to a label inside some button click event, it reloads perfectly.
cc.GetTextControl("lblTeste").Text = myForm.PostbackMessage;
(cc.GetTextControl just returns my control).
However, by using my literal and writing
cc.GetTextControl("litScript").Text = "<somejavascript>"+myForm.PostbackMessage+"</somejavascript>";
I don't get anything.
When I do a full postback, everything loads correctly though.
What is happening?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
与 javascript 没有改变有关。我刚刚添加了一个
RegisterClientScriptBlock
,一切都很顺利。Had something to do with javascripts not changing. I just added a
RegisterClientScriptBlock
and everything went fine.