2015-09-16 2 views
1

Ниже показано, что я пытаюсь передать значение времени даты из texbox.it, чтобы все остальные значения были точными, но он пропускает нулевые значения как {1/1/0001 12:00:00 AM }. Я хочу, чтобы он передал значение null. Пожалуйста, помогите?Не удается передать значение null из asp: ObjectDataSource

<asp:ObjectDataSource ID="Schedules" runat="server" SelectMethod="GetScheduleByDate" 
     TypeName="WebUI.Code" OldValuesParameterFormatString="original_{0}"> 
     <SelectParameters> 
      <asp:ControlParameter ConvertEmptyStringToNull="true" ControlID="TextBoxSchedules" Name="ScheduleDate" PropertyName="Text" Type="DateTime"/> 
     </SelectParameters> 
    </asp:ObjectDataSource> 
+4

[DateTime] (https://msdn.microsoft.com/en-us/library /system.datetime(v=vs.110).aspx) - это структура и в этом смысле не может быть нулевой, как int или long. возможно, 'Nullable ' будет работать. – rene

+1

Другим вариантом является 'DateTime? myDatetime' –

+0

Спасибо! Я знаю об этой концепции, но я не делал все правильно. Теперь я попробовал снова, и он работает! Спасибо, парни! – rampantNinja

ответ

0

я решил такую ​​же проблему, следующим кодом: подписи

<asp:ObjectDataSource ID="MyDataSource" runat="server" SelectMethod="GetSomething" TypeName="MyNamespace.MyAdapterType"> 
    <SelectParameters> 
     <asp:Parameter Name="id" Type="Object" ConvertEmptyStringToNull="True" /> 
     <asp:Parameter Name="enabled" Type="Object" ConvertEmptyStringToNull="True" /> 
    </SelectParameters> 
</asp:ObjectDataSource> 

метода

public class MyAdapterType 
{ 
    public IEnumerable<CollectorPlugin> GetCollectorPlugin(Guid? id = null, bool? enabled = null) 
    { 
     //in debug mode i have here 2 null objects 
     throw new NotImplementedException(); 
    } 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^