2013-05-22 2 views
0

У меня есть веб-страница asp/razor, которую я использую для заполнения данных объектива и их опций.Как пройти мимо Ошибка Null?

Я хочу вернуть значение SID, если оно существует, а если нет, то оно будет пустым.

Я использую, если Постулаты, чтобы сделать это, но браузер сообщает об ошибке:


Server Error in '/' Application. 
-------------------------------------------------------------------------------- 
Compilation Error 
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately. 

Compiler Error Message: CS0103: The name 'SID' does not exist in the current context 

Source Error: 

Line 238:   <div class="row"> 
Line 239:    <span class="label"><label for="salesid">SalesID:</label></span> 
Line 240:    <input type="text" name="salesid" id="salesid" [email protected] size="15" /> 
Line 241:   </div>} 
Line 242:   else {@message;} 

Source File: ~\DiscountCustomers.cshtml Line: 240 

-------------------------------------------------------------------------------- 
@{ 
    Layout = "~/_SiteLayout.cshtml"; 

    var db = Database.Open("A-LensCatFE-01SQL") ; 

    var CustomerCode = UrlData[0]; 

    var message = ""; 

    // vars for dropdowns: 
    var ListSRP =db.Query("Select * FROM lstSRPBasedOn"); 
    var LensName = db.Query("Select Form, ShortName FROM dbo.qryLAStyleMin ORDER BY Form"); 

    // vars for modal forms insert data: 
    var query = ("Select * from dbo.qryCustomersAll Where CustomerCode= @0"); 
    var data = db.QuerySingle(query, CustomerCode); 
    var emcid = data.CID; 

    var query1 = ("Select CatID from dbo.qryCustomersAll Where CustomerCode= @0"); 
    var catid = db.QueryValue(query1, CustomerCode); 

    var query3 =("Select * from dbo.qryPromo2 Where [email protected]"); 
    var data3 = db.QuerySingle(query3, CustomerCode); 

    if (data3 != null) 
       {var SID = data3.SalesID;} 
       else 
       { message="Data not found";} 

    } 
--------------------------------------------------------------- 
@if (data3 != null){ 
      <div class="row"> 
       <span class="label"><label for="salesid">SalesID:</label></span> 
       <input type="text" name="salesid" id="salesid" [email protected] size="15" /> 
      </div>} 
      else {@message;} 
--------------------------------------------------------------- 

Что я делаю неправильно? и как я могу преодолеть эту проблему? Спасибо.

ответ

0

SID заявлен в заявлении if, поэтому его нет в объеме. Переместите декларацию вне инструкции if.

(Предполагая SID является int)

int SID = 0; 
if (data3 != null) 
    {SID = data3.SalesID;} 
else 
    { message="Data not found";} 
Смежные вопросы