无法将值属性添加到输入类型=“提交”

时间:2013-08-27 12:25:02

标签: asp.net forms umbraco

我正在创建一个自定义用户控件来呈现一个表单,用于从Umbraco站点发送电子邮件。一切似乎都很好。但是目前有一个问题让我陷入困境......

页面呈现时,<input>按钮不显示任何文本。 负责呈现<input>的.ascx文件中的代码如下所示:

<asp:Button ID="btnSubmit" runat="server" onclick="BtnSubmitClick" CssClass="full-width" />

<script runat="server">
    private void Page_Load()
    {
        btnSubmit.Attributes.Add("value", StringSendText);
    }
</script>

背后的代码(.ascx.cs):

public string StringSendText
{
    get { return umbraco.library.GetDictionaryItem("[Master]Contact-Form-Send"); }
}

我知道StringSendText返回输入的文本,但无论我做什么,值attrubute都显示为空。当我将StringSendText插入到text=""属性中时,我可以看到源文件中显示的文本字符串,但按钮上没有显示任何内容。

我试图禁用javascript和css文件,但它给了我完全相同的结果。该按钮上的文字仅在操作源(来自Firebug或Chrome)并手动添加value="Send"属性时显示。

将文本添加为​​固定字符串时,它甚至不显示:

btnSubmit.Attributes.Add("value", "Text 1");
btnSubmit.Attributes.Add("text", "Text 2");

在查看源代码时,value属性仅显示为value,而我可以在源代码中看到属性text="Text 2" - 但仍然没有显示文本。

猜猜我在这里遗漏了一些非常微不足道的东西,但我似乎无法找到逻辑:/

感谢您的时间!

1 个答案:

答案 0 :(得分:0)

我猜代码是这样的

Button.Attributes.Add("onclick", "javascript:return alert(value);");

您的代码中缺少javascript:return alert .. !!