2015-05-19 2 views
-1

У меня есть текстовое поле, которое будет принимать десятичные значения. Это разметка:Как преобразовать строку в десятичную в asp: ControlParameter

<asp:TextBox ID="txtLat" runat="server" Text="" ClientIDMode="Static" /> 
<asp:MaskedEditExtender ID="MaskedEditExtender3" runat="server" MaskType="Number" 
    TargetControlID="txtLat" Mask="99\.999999999" AcceptNegative="Left"> 
</asp:MaskedEditExtender> 

Это вставка SqlDataSource разметки:

<InsertParameters> 
    <asp:ControlParameter Name="Lat" ControlID="txtLat" PropertyName="Text" Type="String" /> 
</InsertParameters> 

Это код позади:

protected void btnAddOffice_Click(object sender, EventArgs e) 
{ 
    SqlDataSource1.Insert(); 
} 

Мне нужно, чтобы преобразовать текст в текстовом поле txtLat до десятичной. Могу ли я преобразовать его в Controlparameter? Если я использую Convert.ToDecimal() в коде позади, как мне его вернуть обратно в ControlParameter?

Спасибо.

+0

Convert.ToDecimal (txtLat.Text) – waltmagic

+0

Я считаю, что моя проблема связана с MaskEditExtender. После ввода значений в текстовое поле с использованием маски 99.99999999 значения преобразуются в целые числа. от 99.999999 до 999999999. –

+0

Возможно, попробуйте файл FilteredTextBoxExtender ... здесь вы можете найти аналогичный вопрос StackOverflow -> http://stackoverflow.com/questions/5610442/maskededitextender-number-only-remove-trailing-zeros – waltmagic

ответ

0

Я нашел проблему ... Я удалил escape-символ (\) из маски 99.999999999. Это был мой последний разметки в случае, если кто-либо испытывает эту проблему ...

<asp:MaskedEditExtender ID="MaskedEditExtender4" runat="server" MaskType="Number" 
TargetControlID="txtLong" Mask="99.999999999" AcceptNegative="Left"> 
    </asp:MaskedEditExtender> 

Спасибо всем, кто комментировал/помог.

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