急啊,请教一个Ajax刷新的问题!

samfeng_2003 2007-04-24 04:50:32
我用了个 ajax.dll的组件

Web.Config里面的配置
<!--majicAjax-->
<configSections>
<section name="magicAjax" type="MagicAjax.Configuration.MagicAjaxSectionHandler, MagicAjax"/>
</configSections>
<magicAjax tracing="false" scriptPath="~/js">
<pageStore/>
</magicAjax>
<appSettings>
<add key="ConnectionString" value="data source=192.168.1.110;initial catalog=jzcm;user id=jzcm;password=jzcm" />
<add key="SystemName" value="合同管理系统" />
<add key="AppVersion" value="V1.0" />
</appSettings>
<system.web>
<!-- 对ajax支持 -->
<httpHandlers>
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax"/>
</httpHandlers>

然后在BLL层建立一ContractManage的类,里面定义了个方法
GetCCCTypeTree是得到一个Microsoft.Web.UI.WebControl 1.0的TreeView控件
[Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.Read)]
public TreeNode GetCCCTypeTree( )
{
DataSet ds = new DataSet();
ds = dalContManage.GetCCCTRoot();

string ctID = ds.Tables[0].Rows[0]["CT_ID"].ToString();
string ctName = ds.Tables[0].Rows[0]["CT_Name"].ToString();

TreeNode tnRoot = new TreeNode();
tnRoot.Expanded = true;
tnRoot.Text = ctName;
tnRoot.NavigateUrl = @"ContManaTree.aspx?ctID="+ds.Tables[0].Rows[0]["CT_ID"].ToString();
tnRoot.ImageUrl = "../images/TreeImg/root.gif";
tnRoot.Target = "mainFrame";

LoadNextTree( tnRoot, null, ctID );

return tnRoot;
}

/// <summary>
/// 递归得到下一级的所有合同类型节点
/// </summary>
/// <param name="tnParent">树节点控件</param>
/// <param name="TreeType">种类</param>
/// <param name="parentID">父节点</param>
/// <returns></returns>
public TreeNode LoadNextTree(TreeNode tnParent, string TreeType, string parentID)
{
DataSet dsChild;
if(null != TreeType)//根节点加载
{
dsChild = dalContManage.GetCCCTRoot();
}
else//子节点加载(用于递归调用时候)
{
dsChild = dalContManage.GetCCCTChild( parentID );
}

if(null == dsChild)//判断是否有子节点
{
return tnParent;
}
else
{
foreach(DataRow dr in dsChild.Tables[0].Rows)
{
TreeNode tnChild = new TreeNode();
tnChild.Text = dr["CT_Name"].ToString().Trim();
tnChild.Target = "mainFrame";
object oFlag = dalContManage.IfExCCCTChild( dr["CT_ID"].ToString().Trim() );
if( null != oFlag )
{
tnChild.ImageUrl = "../images/TreeImg/folder.gif";
tnChild.SelectedImageUrl = "../images/TreeImg/folderopen.gif";
}
else
{
tnChild.ImageUrl = "../images/TreeImg/file.gif";
}
//对于定位页面的设定
if(null != dr["CT_Name"])
{
tnChild.NavigateUrl = @"ContManaTree.aspx?ctID="+dr["CT_ID"].ToString();
}
tnParent.Nodes.Add(tnChild);
LoadNextTree(tnChild, null, dr["CT_ID"].ToString().Trim());
}
return tnParent;
}
}

里面有两个方法是DAL层的,但是应该不关事,是正确的

然后,我在web层里面调用
前台的javascript
<script language="javascript">
<!--
function tvCCCTypeResult()
{
ContractManage.GetCCCTypeTree(get_tree_Result_CallBack);
}

function get_tree_Result_CallBack(response)
{
if (response.value != null)
{
   
//debugger;
var tvTree = parent.leftFrame.document.getElementById("tvCCCType");
var tt = parent.leftFrame.document.getElementById("TextBox1");

var ds = response.value;
if(ds != null )
{  
tvTree.Nodes.Add( "123","234");
    tvTree.Nodes.Add( ds );
}
}
}

后台语句

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面

Ajax.Utility.RegisterTypeForAjax(typeof(BLL.ContractManage.ContractManage));
if ( !IsPostBack )
{
InitPage();
Button1.Attributes.Add("onclick","tvCCCTypeResult();");

}

但是不行,我用了个TextBox1来测试,javascript语句是对的!但是为什么tvTree.Nodes.Add就是刷新不了呢?

}
...全文
309 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
samfeng_2003 2007-04-24
  • 打赏
  • 举报
回复
没有啊!我用的是DropDownList级联的那个Ajax, 然后级联DropDownList成功了的,我测试过了javascript里面tvTree是有值的,但是就是不能刷新,是不是Ajax只支持DataSet对象不支持TreeView对象呢?
djx520 2007-04-24
  • 打赏
  • 举报
回复
绝不让帖子沉下去
showhappy 2007-04-24
  • 打赏
  • 举报
回复
<section name="magicAjax" type="MagicAjax.Configuration.MagicAjaxSectionHandler, MagicAjax"/>
你应用这个是不是你搞错了啊,这个应该是magicAjax而不是ajax啊!
zhqs1000 2007-04-24
  • 打赏
  • 举报
回复
看晕了,太长
samfeng_2003 2007-04-24
  • 打赏
  • 举报
回复
急啊!有知道的吗?拜托,帮个忙吧!各位大侠!
egyqy 2007-04-24
  • 打赏
  • 举报
回复
帮顶
luck0235 2007-04-24
  • 打赏
  • 举报
回复
Ajax都是手写,没用过第三方的.
samfeng_2003 2007-04-24
  • 打赏
  • 举报
回复
急啊,分不够再加

62,253

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧