Page_Load 期间更改的值不显示
Changed values during Page_Load don't show up
我在 SharePoint2013 环境之上部署了一个 Project Server 2013,并且我在 Page_Load 期间部署了一个在页面上注册 JavaScript 的 Web 部件。在这个 JavaScript 中,我更改了项目详细信息页面的一个输入框的值。但是,页面完全渲染后,新值并没有出现在输入框上,输入框仍然处于启用状态。
奇怪的是,我在值改变的点上加了一个JavaScript alert,我可以看到alert window,所以脚本运行s。另一件奇怪的事情是,如果我使用 IE 开发人员工具对此进行调试,并在脚本中设置一个断点,然后逐行跟踪它,那么当呈现页面时,值会更改并且该框被禁用。
如何更改输入框的值?为什么如果我在 Developer Tools 上调试它可以工作,但如果我只是让脚本 运行 正常就不能工作?
这是我的 C# 代码:
public partial class SpecialIDUserControl : UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
try
{
String fieldGUID = "THIS_A_FIELD_GUID"
String specialId = "bla bla bla"
String javaScript = @"SetSpecialID('" + fieldGUID + "','" + specialId + "');";
ScriptManager.RegisterStartupScript(this, GetType(), "initializeVar", javaScript, true);
}
catch (Exception ex)
{
// stuff
}
}
}
这是我的JavaScript
function SetSpecialID(fieldId, specialId) {
var $puidElement = $("[GUID='" + fieldId + "']");
$puidElement.val(specialId);
WPDPParts[0].IsDirty = true; //makes the page dirty, so the user gets a notification for saving
}
$puidElement.attr('disabled', 'disabled'); //disables input box, since this field should not be manually changed
}
试试这个:
id_field = "field_name";
$('input[title="'+id_field '"]').attr("value",specialId);
$('input[title="'+id_field +'"]').attr("LTValue",fieldGUID);
我在 SharePoint2013 环境之上部署了一个 Project Server 2013,并且我在 Page_Load 期间部署了一个在页面上注册 JavaScript 的 Web 部件。在这个 JavaScript 中,我更改了项目详细信息页面的一个输入框的值。但是,页面完全渲染后,新值并没有出现在输入框上,输入框仍然处于启用状态。 奇怪的是,我在值改变的点上加了一个JavaScript alert,我可以看到alert window,所以脚本运行s。另一件奇怪的事情是,如果我使用 IE 开发人员工具对此进行调试,并在脚本中设置一个断点,然后逐行跟踪它,那么当呈现页面时,值会更改并且该框被禁用。 如何更改输入框的值?为什么如果我在 Developer Tools 上调试它可以工作,但如果我只是让脚本 运行 正常就不能工作? 这是我的 C# 代码:
public partial class SpecialIDUserControl : UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
try
{
String fieldGUID = "THIS_A_FIELD_GUID"
String specialId = "bla bla bla"
String javaScript = @"SetSpecialID('" + fieldGUID + "','" + specialId + "');";
ScriptManager.RegisterStartupScript(this, GetType(), "initializeVar", javaScript, true);
}
catch (Exception ex)
{
// stuff
}
}
}
这是我的JavaScript
function SetSpecialID(fieldId, specialId) {
var $puidElement = $("[GUID='" + fieldId + "']");
$puidElement.val(specialId);
WPDPParts[0].IsDirty = true; //makes the page dirty, so the user gets a notification for saving
}
$puidElement.attr('disabled', 'disabled'); //disables input box, since this field should not be manually changed
}
试试这个:
id_field = "field_name";
$('input[title="'+id_field '"]').attr("value",specialId);
$('input[title="'+id_field +'"]').attr("LTValue",fieldGUID);