创建自定义SharePoint 2010 webpart。
我是AJAX的新手,所以请帮助我。
任何人都可以给我一步一步的程序来执行以下操作:
开启按钮点击:
禁用按钮
显示等待屏幕/等待动画/沙漏光标
做很长的工作。
在文本框中显示作业已成功完成。
为了让我更容易理解,我将在下面发布我的代码:
以下是我的VisualWebPart.ascx文件:
<%@ Assembly Name="$SharePoint.Project.AssemblyFullName$" %>
<%@ Assembly Name="Microsoft.Web.CommandUI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="asp" Namespace="System.Web.UI" Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
<%@ Import Namespace="Microsoft.SharePoint" %>
<%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="VisualWebPart1.ascx.cs" Inherits="AE_Project_Form.VisualWebPart1.VisualWebPart1" %>
<style type="text/css">
.auto-style1 {
width: 26%;
height: 248px;
}
.wait{
cursor:wait;
}
</style>
<script type="text/javascript">
function ShowCursor() {
document.getElementById('btn_Submit').disabled = true;
$(this).addClass("wait");
}
</script>
<table class="auto-style1">
<tr>
<td class="auto-style4" colspan="2">
<asp:Button ID="btn_Submit" runat="server" OnClick="btn_Submit_Click" Text="Submit" Width="97px" Height="20px" />
</td>
</tr>
现在我的VisualWebPart.ascx.cs文件如下所示:
using System;
using System.ComponentModel;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Data.SqlClient;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Publishing;
using System.Data;
namespace AE_Project_Form.VisualWebPart1
{
[ToolboxItemAttribute(false)]
public partial class VisualWebPart1 : WebPart
{
public VisualWebPart1()
{
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
InitializeControl();
}
protected void Page_Load(object sender, EventArgs e)
{
this.btn_Submit.Attributes.Add("onClick", "ShowMessage()");
}
protected void btn_Submit_Click(object sender, EventArgs e)
{
//Do a long process including some Database updates etc...
//Just show a MSGBOX saying process completed
Type cstype = this.GetType();
ClientScriptManager cs = Page.ClientScript;
if (!cs.IsStartupScriptRegistered(cstype, "PopupScript"))
{
String cstext = "alert('Successfully Added Project');";
cs.RegisterStartupScript(cstype, "PopupScript", cstext, true);
}
}
}
现在我想要webpart做的是点击一个按钮时:
禁用按钮并启动等待光标
执行长数据库流程
完成漫长过程后,会显示一个消息框,表示该过程已完成。
但是发生的事情是按钮没有被禁用,也没有看到等待光标。长处理器需要很长时间,只显示最终消息框。
我在某处对Javascript C#webpart编码的理解是错误的吗?
答案 0 :(得分:0)
请看杰克的最后回复......这对我有用,谢谢......