Why can't I cast an int to a string within this ternary operation
<p>I left some code out for brevity...</p>

<pre><code>int id = Convert.ToInt32(Page.RouteData.Values["id"]);
var q = db.Categories.SingleOrDefault(x =&gt; x.categoryID == id);

ddlCategory.SelectedValue = q.parentID == 0 ? 0 : id.ToString();
</code></pre>

<p>I get the error:</p>

<p><em>Type of conditional expression cannot be determined because there is no implicit conversion between 'int' and 'string'</em> (It's talking about the <code>id.ToString()</code> piece.)</p>

<p>I tried <code>Convert.ToString()</code> and I tried putting <code>(string)</code> infront of <code>id</code> but that didn't work.</p>
