2012-04-24 121 views
0

如何在模式框上分配文本框值后获取代码隐藏文本框的值?将文本框值分配到同一页上的模式框

这是模态盒如何出现在页面上:

<div id="dialog-form" title="Modal Box"> 
    <asp:TextBox ID="Textbox1" runat="server" ReadOnly="True"> 
    <asp:Button ID="Save_Button" runat="server" Text="Save"></asp:Button>   
</div> 

为了分配上Textbox1的价值,我附上一个JavaScript函数来LinkBut​​ton的上一个GridView(这里没有显示的代码)通过代码隐藏基于LinkBut​​ton的点击:

Dim myLinkButton As LinkButton  
For i As Integer = 0 To GV1.Rows.Count - 1 
    myLinkButton = DirectCast(GV1.Rows(i).Cells(1).FindControl("LinkButton"), LinkButton) 
    myLinkButton.Attributes.Add("onclick", "shopModalPopup('" + .Rows(i).Cells(0).Text & "'); return false;") 
Next 

Rows(i).Cells(0)是在GridView的第一列,它是“ID”。这个ID将被分配到Textbox1而Linkbutton点击。

的JavaScript代码是相同的页面GridView的代码上:

<script> 
var grid_modal_options = { 
        height: 450, 
        width: 550, 
        modal: true 
       }; 

function shopModalPopup(id) { 
        var DataField = id; 
        grid_modal_options.open = function() { 
         $('#dialog-form #Textbox1').val(DataField); 
        }; 

        $("#dialog-form").dialog(grid_modal_options); 
        $("#dialog-form").parent().appendTo('form:first'); 
       } 
</script> 

当我点击模态盒保存按钮,在Textbox1值不能对代码后来居上。它总是返回空值。怎么做?非常感谢你。

+0

为什么你使用是使用asp文本框的方式 – 2012-04-24 02:41:31

+0

@COLDTOLD:对不起,我已经编辑了上面的代码。我正在使用asp:textbox,但仍然无法获得值。 – 2012-04-24 02:45:31

回答

1

请仔细阅读本

http://www.codeproject.com/Articles/37090/JQuery-UI-Dialog-with-ASP-NET-empty-post-values

我认为它可以帮助你的问题可能是对话的DIV移到表格外,你可以通过使用参考以上或只是定义另一个隐藏的输入解决问题和具有相同值的

$('#dialog-form #Textbox1').val(DataField); 
$('hiddenfield').val(DataField); 

更新隐藏输入,然后从隐藏字段读出的值

不知道它是最好的答案,但可能作为一个快速修复

+0

非常感谢您的想法。有用! :) – 2012-04-24 11:03:56

0

它没有工作没有Readonly="true"?如果是,请在您的<asp:textbox>中将Readonly="true"替换为Enabled="false"

我没有测试过这个,但我记得Readonly导致我过去这样的问题。

+0

嗨,谢谢,但它不起作用。 :) – 2012-04-24 11:03:13

相关问题