2011-02-15 69 views
2

我想檢查元素的內部html是否爲空,但我想在服務器端進行驗證,我將HTML視爲串。下面是一個使用此行

$('.spanArea').text() // what is the equivalent of this line in c# 

我會知道,如果沒有.spanArea真的有東西在UI或不顯示我的代碼

public string HasContent(string htmlString){ 
    // this is the expected value of the htmlString 

    // <span class="spanArea"> 
    //  <STYLE>.ExternalClass234B6D3CB6ED46EEB13945B1427AA47{;}</STYLE> 
    // </span> 

    // From this jquery code--------------> 
    // if($('.spanArea').text().length>0){ 
    // 
    // } 
    // <------------------ 
    // I wanted to convert the jquery statement above into c# code. 

    /// c# code goes here 
    return htmlSTring; 
} 

。我想在服務器端進行檢查。無需擔心如何設法訪問我已經被照顧的DOM。考慮將htmlString作爲Html字符串。

我的問題是,如果有任何相當於這個jquery行在C#中?

在此先感謝! :)

+0

spanArea.InnerText? – Anuraj 2011-02-15 11:42:50

+0

是的,我想檢查spanArea的內部文本是否在c代碼後面不是空的# – 2011-02-15 11:45:22

+0

請將代碼放在服務於您的AJAX調用的頁面後面。 – Lazarus 2011-02-15 12:16:14

回答

2

如果您確實需要從ServerSide的HTML中獲取該數據,那麼我建議您使用Html-Parser作爲該工作。

如果檢查other SO posts你會發現,Html Agility Pack建議了很多次。

2

標籤與RUNAT = 「服務器」 的SpanArea,然後您可以訪問它在後面的代碼:

<span id="mySpan" class="spanArea" runat="server /> 

然後,您可以:

string spanContent = mySpan.InnerText; 
0

你的代碼隱藏的包含此AJAX調用的頁面在執行AJAX調用之前已經執行過(將頁面呈現給瀏覽器),因此您的問題看起來不正確。

傳遞您指定HTML片段的代碼隱藏可能是使用StringBuilder或類似構造,因此您應該能夠在該代碼中驗證是否有任何數據。

您提供的片段僅包含DIVSPANSTYLE標記。這很可能會摺疊成零寬度元素,並且什麼都不顯示。

看看這篇文章,這將幫助你瞭解ASP.NET page life cycle