我来做百科(第二十一天)

今天就做“词条预览”吧。这个我参考了百度百科的“词条预览”功能,大概原理是通过提交一个target属性是"_blank"的form,这样会在新窗口中打开目标页,并把数据提交过去。根据这个原理写了如下js代码:
//Preview
var oPreview, oLemma, oDetail, oTag, oRefer;

function ShowPreview(){

    
if(!Check(false)) return false;
    
    
if(!oPreview){
        oPreview 
= document.createElement("form");
        oPreview.action 
= "../index/Preview.aspx";
        oPreview.method 
= "post";
        oPreview.target 
= "_blank";
        document.body.appendChild(oPreview);
    }

    
    oLemma 
= SetInput(oLemma, "lemma", document.getElementById('<%= hfLemma.ClientID %>').value)
    oDetail 
= SetInput(oDetail, "detail", document.getElementById('<%= tbDetail.ClientID %>').value)
    oTag 
= SetInput(oTag, "tag", document.getElementById('<%= tbTag.ClientID %>').value)
    oRefer 
= SetInput(oRefer, "refer", document.getElementById('<%= tbRefer.ClientID %>').value)
    
    oPreview.submit();
}


function SetInput(oInput, sName, sValue){
    
if(!oInput){
        oInput 
= document.createElement("input");
        oInput.name 
= sName;
        oInput.type 
= "hidden";
        oPreview.appendChild(oInput);
    }

    oInput.value 
= sValue;
    
return oInput;
}

这样就可以在预览页中获取数据,并处理后显示。最后把这个功能放在添加和编辑页就行了。这样预览功能就做好了。
posted @   cloudgamer  阅读(2635)  评论(1编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示